【发布时间】:2014-02-03 16:26:14
【问题描述】:
我刚刚将我所有的网站文件和数据库移到了一个虚拟主机上,但在尝试运行我的一个页面时遇到了以下错误:
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;
?>
请帮忙!
【问题讨论】:
-
The manual 也提到了 PHP/5.3.0。你的是什么?
-
我使用的是 5.4.24 版本。
-
保存错误检查(我猜为了简洁起见已将其删除)您的代码对我来说看起来很好。用phpinfo() 诊断东西通常更容易(如果只是因为它显示了更多信息),但我想不出
extension_loaded('mysqlnd')会撒谎的原因。奇怪...