【发布时间】:2015-05-19 20:41:43
【问题描述】:
我的应用程序使用 MySQL 准备语句在 localhost 中构建,如下所示:
include('db.php');
$stmt = $mysqli->prepare("SELECT * FROM `hero` WHERE name=? LIMIT 1") or die($mysqli->error);
$stmt->bind_param('s', $name);
$name = 'superman';
$stmt->execute();
$check = $stmt->get_result();
$rows = $check->fetch_object();
$num = $check->num_rows;
if($num == 0){
echo 'Failed!';
}else{
echo 'Found!';
}
查询在本地主机中运行良好,当我在虚拟主机中测试时显示错误:
致命错误:调用未定义的方法 mysqli_stmt::get_result()...
经过一些网络研究,发现这是由于主机中未安装mysqld 驱动程序(PHP 版本 5.4++,我认为 5.3 以上版本已经可用?)。
是否有任何解决方法可以使用替代方式而不是 mysqli_stmt::get_result?
【问题讨论】:
-
应该与驱动没有太大关系。 get_result 自 5.3.0 以来一直在 php 中...
-
不知您是否需要安装
php5-mysqlnd才能使用此功能?
标签: php mysqli prepared-statement