“mysqli_stmt::get_result()” 方法调用未定义问题
在尝试使用“get_result()”方法从“mysqli_stmt”对象中获取查询结果时,出现了“调用未定义方法 mysqli_stmt::get_result()”错误。
问题原因:
错误表明“get_result()”方法对于“mysqli_stmt”对象不可用。这可能是由于缺少“mysqlnd”驱动程序造成的。
解决方案:
安装 mysqlnd 驱动程序:
此驱动程序对于使用“get_result()”方法至关重要。请确保在您的 Web 空间上已安装它。
使用 bind_result() 和 fetch():
如果您无法安装“mysqlnd”驱动程序,则可以使用“bind_result()”和“fetch()”方法来获取查询结果。这些方法不受“mysqlnd”驱动程序的影响。示例代码如下:
$stmt->bind_result($emailVerified, $blocked); $stmt->fetch();
检查 mysqli_stmt->execute() 的返回值:
确保“mysqli_stmt->execute()”方法已成功执行。如果它返回“false”,则不会为“stmt”对象设置任何结果。
示例:
以下是已解决该问题的修改后的代码:
include 'conn.php'; $conn = new Connection(); $query = 'SELECT EmailVerified, Blocked FROM users WHERE Email = ? AND SLA = ? AND `Password` = ?'; $stmt = $conn->mysqli->prepare($query); $stmt->bind_param('sss', $_POST['EmailID'], $_POST['SLA'], $_POST['Password']); if ($stmt->execute()) { $stmt->bind_result($emailVerified, $blocked); $stmt->fetch(); // Use $emailVerified and $blocked here... } else { echo "Error executing statement: " . $stmt->error; }
以上是为什么我收到'调用未定义方法 mysqli_stmt::get_result()”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!