使用pdo获取简单的行数会产生错误

时间:2013-11-29 06:43:07

标签: php mysql sql pdo

使用pdo进行简单的行计数并获取“对非对象的错误调用成员函数查询()”。我是PDO的新手,但这应该完美无缺......不是吗?搜索显示使用相同的方法作为正确的方法。也许我只是累了?

会话变量有效。

function get_computer_count(){
  $sql = "SELECT COUNT(*) FROM computers WHERE account_id == '".$_SESSION['account']['account_id']."'";
  $results = $db->query($sql);
  $row = $results->fetch(PDO::FETCH_NUM);
  return $row[0];
}

1 个答案:

答案 0 :(得分:1)

有两个错误。

  

在非对象上调用成员函数query()。

首先,您没有构建您的PDO对象。

像:

 $db = new PDO($dsn, $user, $password); 

其次,您最有可能从查询中收到错误。 MySQL中的相等比较不是==,而是=

试试这个:

SELECT COUNT(*) FROM computers WHERE account_id = '".$_SESSION['account']['account_id']."'

如果account_id不是字符字段,我建议不要添加撇号。