Fatal error: Call to undefined method mysqli_stmt::get_result() [duplicate]

时光总嘲笑我的痴心妄想 提交于 2019-12-17 21:05:14

问题


Since i've moved a site of mine to a new vServer, I always get this error message

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

These lines of code are working fine

$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();

but $count_res = $count_reg->get_result(); fails. Mysqli support is enabled.

Accorind to some internet sources I need the PHP MySQL native drivers, but I've only got php5-mysql installed on my Debian 7 machine, as installing php5-mysqlnd via apt-get install php5-mysqlnd would automatically remove Froxlor, which is my server management panel.

Are there other ways to install mysqlnd except downloading it via apt-get download php5-mysqlnd and installing it using dpkg, as this would throw errors on each following apt-get call due to unmet requirements, and compiling PHP including mysqlnd from source?


回答1:


I've managed installing php5-mysqlnd without removing Froxlor.

Froxlor has an dependecy on php5-mysql, which is removed by installing php5-mysqlnd, but is also compatible to mysqlnd.

So I had to download the package via apt-get download php5-mysqlnd and install it using dpkg -i --ignore-depends=froxlor php5-mysqlnd_5.4.4-14+deb7u7_amd64.deb




回答2:


Your server doesnot have mysql native drivers (mysqlnd).

Install this extension in your server to use get result function.



来源:https://stackoverflow.com/questions/21223268/fatal-error-call-to-undefined-method-mysqli-stmtget-result

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!