我刚刚将我的所有网站文件和数据库移到一个网络主机上,在尝试运行我的某个页面时遇到以下错误:

Call to undefined method mysqli_stmt::get_result()

我以前看到过这个问题,这与mysqlnd驱动程序没有安装有关。所以我联系了网络主机,他们说mysqli和mysqlnd都是使用以下PHP安装的:
<?php
    if (extension_loaded('mysqlnd'))
        echo 'extension mysqlnd is loaded'; // WORKED

    if (extension_loaded('mysqli'))
        echo 'extension mysqli is loaded'; // WORKED
?>

下面是我要运行的PHP:
<?php
    $cxn = mysqli_connect("localhost", "my_username", "my_password", "my_database") or die ("Couldn't connect to the server. Please try again.");

    $id = 0;

    $stmt = $cxn->prepare('SELECT value FROM test WHERE id = ?');
    $stmt->bind_param('i', $id);
    $stmt->execute();
    $result = $stmt->get_result();

    echo $result->num_rows;
?>

请帮忙!

最佳答案

mysqlnd实际上不是一个扩展,而是一个由扩展使用的库。因此,您的主机必须使用--with-mysqli=mysqlnd

关于php - 无法使用get_result(),启用了mysqlnd,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21532458/

10-10 15:23