首页 > 后端开发 > php教程 > 为什么我的 PHP MySQLi 代码抛出'调用未定义方法 mysqli_stmt::get_result()”错误?

为什么我的 PHP MySQLi 代码抛出'调用未定义方法 mysqli_stmt::get_result()”错误?

Mary-Kate Olsen
发布: 2024-12-26 21:11:10
原创
577 人浏览过

Why Does My PHP MySQLi Code Throw a

MySQLi:解决“调用未定义的方法 mysqli_stmt::get_result() 错误

在 PHP 中,当使用 MySQLi 执行 MySQL 查询时,可能会出现错误“调用未定义的方法 mysqli_stmt::get_result()”。通常在未安装 MySQL 本机驱动程序 (mysqlnd) 时发生。

请考虑以下代码片段:

$stmt = $conn->mysqli->prepare($query);
$stmt->bind_param('sss', $_POST['EmailID'], $_POST['SLA'], $_POST['Password']);
$stmt->execute();
$result = $stmt->get_result();
登录后复制

在此示例中,$result = $stmt->get_result( ); 行抛出“调用未定义的方法 mysqli_stmt::get_result()”错误,这是因为 get_result() 方法需要mysqlnd 驱动程序并不总是安装在 Web 托管环境中。

要解决此问题,请确保启用 mysqlnd 驱动程序,您可以通过检查 phpinfo() 输出或使用类似命令来验证其安装。 :

php -i | grep mysqlnd
登录后复制

如果未安装 mysqlnd 驱动程序,请按照以下步骤操作:

对于基于 Debian 的系统:

sudo apt-get install php-mysqlnd
登录后复制

对于基于 Red Hat 的系统:

sudo yum install php-mysqlnd
登录后复制

对于使用 Homebrew 的 Mac OS X:

brew install php-mysqlnd
登录后复制

对于 Windows系统:

安装最新版本的 PHP,并启用 mysqlnd 驱动程序。

安装 mysqlnd 驱动程序后,需要重新启动 Web 服务器以加载更改。一旦驱动程序安装并激活,get_result()方法将正常工作。

或者,如果无法安装mysqlnd,您可以使用bind_result()和fetch()方法检索查询结果。这些方法比 get_result() 效率低,但不需要 mysqlnd 驱动程序。

以上是为什么我的 PHP MySQLi 代码抛出'调用未定义方法 mysqli_stmt::get_result()”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板