插入最新的行

时间:2017-01-29 07:25:16

标签: php mysql

在我的表格中,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...

任何帮助?

2 个答案:

答案 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 LIMITORDER BY找到最新数据。然后你需要改变你的SQL LIKE。

$stmt = $db->query('SELECT * FROM posts ORDER BY date DESC LIMIT 1');