2014-05-17 105 views
0

只有第一个SQL语句返回有效结果。其他人返回0.我不明白为什么。我究竟做错了什么? 这里是代码:PDO返回0而不是rowcount

$year = htmlspecialchars($_POST['year']); 
$ukupan_broj_servisa="SELECT COUNT(*) FROM services WHERE date BETWEEN '$year-01-01' AND '$year-12-31'"; 
$ukupan_broj_malih_servisa="SELECT COUNT(*) FROM services WHERE service_mali > '' AND date BETWEEN '$year-01-01' AND '$year-12-31'"; 
$ukupan_broj_velikih_servisa="SELECT COUNT(*) FROM services WHERE service_veliki > '' AND date BETWEEN '$year-01-01' AND '$year-12-31'"; 
$ukupan_broj_kola="SELECT COUNT(*) FROM cars"; 
$stmtser = $pdo->prepare($ukupan_broj_servisa); 
$stmtmali = $pdo->prepare($ukupan_broj_malih_servisa); 
$stmtveliki = $pdo->prepare($ukupan_broj_velikih_servisa); 
$stmtkola = $pdo->prepare($ukupan_broj_kola); 
try { 
    $stmtser->execute(); 
    $stmtmali->execute(); 
    $stmtveliki->execute(); 
    $stmtkola->execute(); 
} catch (PDOException $e) { 
    echo "Došlo je do greške u bazi podataka. Molimo pokušajte kasnije ili kontaktirajte administratora."; 
    echo $e; 
    exit(); 
} 
echo ' 
    <label id="brojvozila">'.$stmtkola->fetchColumn(0).'</label> 
    <label id="brojservisa">'.$stmtser->fetchColumn(0).'</label> 
    <label id="brojmalihservisa">'.$stmtmali->fetchColumn(0).'</label> 
    <label id="brojvelikihservisa">'.$stmtveliki->fetchColumn(0).'</label> 
'; 
+4

如果连接查询字符串中的值,则使用预处理语句毫无意义。这不是准备好的陈述的目的。 –

+0

这并不能解决我的问题。我用$ pdo-> query()替换它,发生同样的事情。 – Parthanaux

回答

0

我找到了解决方案。我重新安装MySQL服务器,它的工作。