You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP调用mysqli::execute_query()报错:未定义方法的问题求助

解决mysqli::execute_query()未定义方法的问题

错误原因

mysqli::execute_query()是PHP 8.1版本才新增的方法,你的服务器PHP版本低于8.1,因此触发了这个致命错误。

解决方案

方案一:升级PHP版本到8.1及以上

  • 检查当前PHP版本:在项目根目录新建phpinfo.php文件,写入代码<?php phpinfo(); ?>,访问该文件即可查看当前PHP版本。
  • 根据你的服务器环境(Apache/Nginx、Linux/Windows等),按照对应官方指引将PHP升级到8.1或更高版本。

方案二:兼容低版本PHP的替代写法

用传统的mysqli预处理语句流程替代execute_query(),适配你的modeloLogin.php逻辑的示例代码如下:

// 原报错代码示例(参考):
// $result = $this->db->execute_query("SELECT * FROM usuarios WHERE email = ?", [$email]);

// 替代的兼容写法:
$sql = "SELECT * FROM usuarios WHERE email = ?";
$stmt = $this->db->prepare($sql);
// 绑定参数:"s"代表字符串类型,参数类型可根据实际调整(i=整数、d=浮点数、b=二进制数据)
$stmt->bind_param("s", $email);
$stmt->execute();
// 获取查询结果集
$result = $stmt->get_result();
// 后续可通过$result->fetch_assoc()等方法处理数据
// 操作完成后关闭预处理语句释放资源
$stmt->close();

注意事项

  • 两种方案都要确保参数绑定逻辑正确,避免SQL注入风险。
  • 使用方案二时,记得在操作结束后关闭预处理语句,释放服务器资源。

内容的提问来源于stack exchange,提问作者Agustin Menendez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 08:44:59