首页 >后端开发 >php教程 >为什么我在 PDO 中收到'在非对象上调用成员函数准备()”?

为什么我在 PDO 中收到'在非对象上调用成员函数准备()”?

Patricia Arquette
Patricia Arquette原创
2024-11-13 14:07:02576浏览

Why Am I Getting

在 PDO 中的非对象上调用成员函数prepare()

这个问题围绕使用 PDO 扩展时遇到的错误对于 PHP。该错误表明在非对象上调用了prepare()方法。

可能的原因

此错误的主要原因在于未定义的$pdo变量。必须确保 $pdo 被正确定义或作为参数传递给使用 prepare() 方法的函数。

替代解决方案

替代,您可以包含全局 $pdo;在函数的开头,从全局范围访问 $pdo 变量。然而,这种方法被认为不太理想,因为它不会促进代码模块化。

相当于 mysql_num_rows

因为 PHP 数据对象 (PDO) 是更高级的数据库与现已弃用的 MySQLi 扩展相比,它是一个抽象层,但它不提供与 mysql_num_rows 直接等效的功能。但是,您可以使用 rowCount() 获取受查询影响或由语句获取的行数。

例如,您可以修改代码以检索受影响的行数:

$ok = $stmt->execute();
$rowCount = $stmt->rowCount();

以上是为什么我在 PDO 中收到'在非对象上调用成员函数准备()”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn