【发布时间】:2014-05-17 00:26:37
【问题描述】:
只有第一条 SQL 语句返回有效结果。其他人返回0。我不知道为什么。我究竟做错了什么? 代码如下:
$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>
';
【问题讨论】:
-
如果连接查询字符串中的值,则使用准备好的语句毫无意义。这不是准备好的语句的用途。
-
这并不能解决我的问题。我用 $pdo->query() 替换它,同样的事情发生了。