【问题标题】:PDO fetchColumn not returning correct row countPDO fetchColumn 未返回正确的行数
【发布时间】:2015-12-17 08:54:45
【问题描述】:

document_list 表中有 101 条记录,user_id 10,但 $num_rows 仅返回 12 条记录计数。我正在使用MariaDB 数据库。

请帮助我使这项工作正常进行。

fetchColumn() 是如何工作的?我真的无法理解,从结果集的下一行返回单列,如果没有更多行,则返回 FALSE。

提前致谢。

$user_id = 10;
$bind_values = array(
    ':user_id' => $user_id,
);
$query = "SELECT COUNT(*) FROM document_list WHERE user_id=:user_id";
function SelectRowCounts($caller_file,$database_name,$query,$bind_values)
{
    $query_exe = $this->db_connection->$database_name();
    $query_fetch_data = $query;
    try
    {
        $data = $query_exe->prepare($query_fetch_data);
        $data->execute($bind_values);
        return $num_rows = $data->fetchColumn();
    }
    catch(PDOException $exception)
    {
        ....
        ....

【问题讨论】:

  • 因为这种情况发生在这里,所以每隔天:双重/三重检查您的数据源;您很可能使用的是不同的数据库。

标签: php mysql pdo


【解决方案1】:

您是否正在处理布尔列?见手册:http://php.net/manual/de/pdostatement.fetchcolumn.php

要检查您的查询是否返回正确的数据,您可以将其更改为 "SELECT * FROM document_list",然后调用 $data->rowCount() - 这也应该返回 101。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-16
    • 2021-02-15
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 2016-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多