我正在尝试获取我输入数据库的最后一个ID。这是我使用的代码:
$test_query = "SELECT * FROM table ORDER BY id DESC LIMIT 1";
if ( mysql_query($test_query) ) {
echo 'OK!';
$results = mysql_fetch_array($test_query);
echo $results['id'];
print_r ($results);
}
我唯一的输出是“好的!”#。'。
我做错了什么?
答案 0 :(得分:3)
您需要在mysql_query
中使用mysql_fetch_array
的输出。
$res = mysql_query($test_query);
if ($res === false) {
throw new Exception("query failed");
}
$row = mysql_fetch_array($res);
echo $row["id"];
请注意,这只会读取一个行。如果您想更多地使用while
循环结构,可以在此处找到:http://php.net/mysql_fetch_array
如果您刚刚执行了INSERT
查询,请使用mysql_insert_id()
来获取ID。这是MySQL的一个特性。这与AUTO_INCREMENT
选项一起使用。
此外,如果这是一个新网站,您需要使用mysqli_*
功能而不是mysql_*
。后者已被弃用。
答案 1 :(得分:1)
如果表格中有自动增量字段,则可以使用此字段:
SELECT LAST_INSERT_ID();