这是我尝试的,它工作正常..
$sql = "SELECT * FROM patient where id = (SELECT max(id) FROM patient)";
result = mysql_query($sql);
if (mysql_num_rows($result) > 0)
{
// output data of each row
while($row = mysql_fetch_assoc($result))
{
$patientid=$row["id"];
$patientname=$row["name"];
$patientrefer=$row["referto"];
$patientdisease=$row["disease"];
}
}
else
{
echo "0 results";
}
但每当我用
替换查询时$sql = "SELECT * FROM patient where id = LAST_INSERT_ID()";
它始终会返回0
个结果。
答案 0 :(得分:1)
为了从您的表中获取最后(最新)记录,您可以与ORDER BY
一起降序LIMIT
:
SELECT * FROM patient ORDER BY id DESC LIMIT 0,1
在这种情况下你根本不需要LAST_INSERT_ID
。此外,对于并发插入,您无法使用LAST_INSERT_ID
确保用户的最后一次插入确实是最新插入。