由于我已将我的网站移至新的vServer,因此我始终收到此错误消息
Fatal error: Call to undefined method mysqli_stmt::get_result()
这些代码行正常工作
$mysql = new mysqli($db_host, $db_user, $db_password, $db_database);
$partys = NULL;
$res_partys = $mysql->query("SELECT * FROM party ORDER BY begin");
while($row_partys = $res_partys->fetch_array()) {
$partys[] = $row_partys;
}
$count_reg = $mysql->prepare("SELECT COUNT(*) FROM guestlist WHERE partyid = ?");
$count_reg->bind_param('i', $party['partyid']);
$count_reg->execute();
但是$count_res = $count_reg->get_result();
失败了。启用了Mysqli支持。
根据一些互联网资源,我需要PHP MySQL本机驱动程序,但我只在我的Debian 7机器上安装了php5-mysql,因为通过apt-get install php5-mysqlnd
安装php5-mysqlnd会自动删除Froxlor,这是我的服务器管理面板。
是否有其他方法可以安装mysqlnd,除非通过apt-get download php5-mysqlnd
下载并使用dpkg安装它,因为这会因为未满足的要求而在每次跟随apt-get调用时抛出错误,并从源代码编译PHP包括mysqlnd?
答案 0 :(得分:5)
我已经管理了安装php5-mysqlnd
而没有删除Froxlor。
Froxlor对php5-mysql
有依赖性,通过安装php5-mysqlnd
删除,但也与mysqlnd兼容。
因此,我必须通过apt-get download php5-mysqlnd
下载该软件包,然后使用dpkg -i --ignore-depends=froxlor php5-mysqlnd_5.4.4-14+deb7u7_amd64.deb
答案 1 :(得分:0)
您的服务器没有mysql本机驱动程序(mysqlnd)。在服务器中安装此扩展程序以使用get result函数。