我正在使用最新版本的PHP 5和MySQL。
查询如下:
$sql = "SELECT max(num)
FROM list
WHERE value = ?";
如果我手动用值$my_value
替换值,我从phpMyAdmin执行查询,我获得了正确的结果。
相反,如果我以这种方式准备查询,我就无法获得任何东西:
$stmt = $con->prepare($sql);
$stmt->bind_param("s", $my_value);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($num);
$stmt->close();
echo "Num: [" . $num . "]";
输出为:Num: []
答案 0 :(得分:2)
bind_result()
不会删除调用fetch()
命令的必要性。您的代码应该类似于:
$stmt = $con->prepare($sql);
$stmt->bind_param("s", $my_value);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($num);
$stmt->fetch();
$stmt->close();
echo "Num: [" . $num . "]";
有关详细信息,请参阅docs。