php pdo保存查询数据

标签 php mysql sql pdo

: Call to a member function rowCount() on a non-object in C:\wamp\www\prjy\classes\user.php on line 34

第 29-32 行

$this->sth = $this->dbh->prepare("SELECT id, userlevel FROM users WHERE username = ? AND password = ?");
$this->sth->bindParam(1, $username);
$this->sth->bindParam(2, $password);
$this->data = $this->sth->execute();

第 34 行

if ($this->data->rowCount() > 0)

我想将结果对象保存在另一个变量中,这样我就可以执行另一个查询,并根据结果返回正确的内容...我不能将结果 (execute()) 保存在变量中吗像上面那样?我该如何以其他方式解决它?

最佳答案

PDOStatement::rowCount() 返回受相应 PDOStatement 对象执行的最后一个 DELETE、INSERT 或 UPDATE 语句影响的行数。

对于大多数数据库,PDOStatement::rowCount() 不会返回受影响的行数 通过 SELECT 语句。相反,
使用 PDO::query() 发出 SELECT COUNT(*) 语句,其谓词与您想要的 SELECT 语句相同,
然后使用 PDOStatement::fetchColumn() 检索将返回的行数。

<强> Reference

关于php pdo保存查询数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7619340/

相关文章:

php 结果页面上有 2 个表,而不是一个包含所有数据的表

php - 未在数据库中更新

MySQL(Workbench?)改变了我的脚本

sql - 在哪里放置主键

javascript - 如何在 javascript 或 MySQL 中对数据透视动态数组进行分组?

php - 如何创建对表单的自动更新响应

php - 如何使用纯 token ( token 作为字符串)从 Controller $jwtManager->decode($jwt) 解析 jwt token

MySQL - 连接在同一个表上?

mysql - 仅选择两个主题的复杂连接

SQL 对一列中 2 个日期之间的数据求和