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中文网其他相关文章!