我试图在mySQL中按'超过一定时间'进行排序,并使用预处理语句。
查询在直接放入数据库时有效,但在准备好的语句中则无效。我没有任何错误。
$timeSinceFirstMark="2015-04-20";
$markRemain = $mysqli->prepare("SELECT (100-COUNT(id)) FROM markers WHERE date_create > ?");
$markRemain->bind_param('s', $timeSinceFirstMark);
$markRemain->execute();
$markRemain->store_result();
$markRemain->bind_result($markRemainCount);
echo $markRemainCount;
答案 0 :(得分:0)
使用bind_result()
绑定结果变量后,需要使用fetch()
来获取一行,这将把SQL中的值分配给这些变量。
$markRemain = $mysqli->prepare("SELECT (100-COUNT(id)) FROM markers WHERE date_create > ?");
$markRemain->bind_param('s', $timeSinceFirstMark);
$markRemain->execute();
$markRemain->store_result();
$markRemain->bind_result($markRemainCount);
$markRemain->fetch();
echo $markRemainCount;