我正在尝试在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;
使用
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;