sql准备语句中的时间戳

时间:2015-04-24 22:42:51

标签: mysql sql mysqli

我试图在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;

1 个答案:

答案 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;