尝试使用 PDO 验证用户输入时,遇到错误,表明准备() 方法正在非对象上调用。此错误特别发生在所提供代码的第 42 行。
要解决此问题,请检查代码以确保 $pdo 对象在 repetirDados() 函数中正确定义并可访问。该错误表明 $pdo 在当前作用域中不可用。
确认 $pdo 是否作为参数传递给函数,或者是否定义为全局变量。如果这两种情况都不成立,您可以在全局命名空间中定义 $pdo 并在函数中使用 global 关键字来访问它:
global $pdo;
或者,您可以将 $pdo 作为参数传递给repetirDados() 函数,确保其在函数作用域内可用。
相当于 PDO 中 mysql_num_rows 的是 rowCount()。它返回受最近查询执行影响的行数。在这种情况下,您可以使用 rowCount() 检查查询是否返回任何行:
if ($stmt->rowCount() == 0) { // No results found } else { // Results found }
以上是为什么我的 PDO 代码中出现'在非对象上调用成员函数准备()”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!