【问题标题】:PDO returns 0 instead of rowcountPDO 返回 0 而不是 rowcount
【发布时间】: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() 替换它,同样的事情发生了。

标签: php pdo rowcount


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 2016-09-24
    • 2013-07-08
    • 2017-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多