在我的表格中,date
格式的列datetime - current timestamp
我已经有了这个效果很好的代码:
$stmt = $db->query('SELECT * FROM posts ORDER BY date DESC');
while($row = $stmt->fetch()){...
是否可以从上面的代码中插入最新的行(最大日期),而无需编写单独的函数?
如果没有,这是我的尝试:
$stmt = $db->query("SELECT MAX(date) FROM posts");
$row = $stmt->fetch();
$itemtop = $row['date'];
但我收到错误 - Undefined index date in...
任何帮助?
答案 0 :(得分:2)
使用LIMIT
:
$stmt = $db->query('SELECT * FROM posts ORDER BY date DESC LIMIT 1');
$row = $stmt->fetch(); // fetch the most recent single record
$itemtop = $row['date']; // ...and whatever other columns you want
答案 1 :(得分:2)
更新如下代码:
$stmt = $db->query("SELECT MAX(date) as date FROM posts");
$row = $stmt->fetch();
$itemtop = $row['date'];
此外,您可以使用SQL LIMIT
和ORDER BY
找到最新数据。然后你需要改变你的SQL LIKE。
$stmt = $db->query('SELECT * FROM posts ORDER BY date DESC LIMIT 1');