PHP扩展mysqli和nd_mysqli之间的区别

时间:2018-12-20 15:28:02

标签: php mysql mysqli server

当调用get_result()时,Mysqli准备好的语句(如下面的语句)会引发以下错误。

$stmt = $connection -> prepare("select column from table where id = ?");
$stmt -> bind_param("i", $id);
$id = 1;
$stmt -> execute() or trigger_error($stmt -> execute(), E_USER_ERROR);
$stmt_result = $stmt -> get_result();
$stmt_numrows = $stmt_result -> num_rows;
$stmt -> close();

Fatal error: Uncaught Error: Call to undefined method mysqli_stmt::get_result()

在阅读了手册的贡献部分之后,看来这是一个模块问题。 http://php.net/manual/en/mysqli-stmt.get-result.php处的文档指出“仅适用于mysqlnd”,已在服务器上启用。

enter image description here

当我禁用mysqli扩展名并启用nd_mysqli时,似乎一切正常(在这里也建议使用:get_result() Doesn't Work even mysqlnd is enabled,但没有进一步的解释)。

我想通过交换这两个扩展来知道我还要做什么,因为这两个扩展彼此冲突并且无法一起启用。我会在此过程中失去一些功能吗?除了包括get_result()的nd_mysqli以外,这两个扩展有什么区别?

0 个答案:

没有答案