Joh*_*ann 6 php mysql mysqli prepared-statement mysqlnd
由于我已经将我的网站移动到新的vServer,我总是收到此错误消息
Fatal error: Call to undefined method mysqli_stmt::get_result()
Run Code Online (Sandbox Code Playgroud)
这些代码行正常工作
$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();
Run Code Online (Sandbox Code Playgroud)
但$count_res = $count_reg->get_result();失败了.Mysqli支持已启用.
Accorind到一些互联网资源我需要PHP MySQL本机驱动程序,但我只在我的Debian 7机器上安装了php5-mysql,因为安装php5-mysqlnd via apt-get install php5-mysqlnd会自动删除Froxlor,这是我的服务器管理面板.
是否还有其他方法可以安装mysqlnd,除非通过apt-get download php5-mysqlnddpkg 下载并安装它,因为这会因为未满足的要求而在每次跟随apt-get调用时抛出错误,并从源代码编译PHP包括mysqlnd?
我在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