我无法获取最新的插入ID。这是我的PHP代码:
$query='INSERT INTO candidates (company_id, name, surname, address1, address2, city, county, postcode, cv, skills, distance) VALUES (10254, \'name\', \'surname\', \'1st Floor\', \'Street\', \'City\', \'County\', \'postcode\', \'0\', \'#6#,#3#,#2#,#1#,\', 25)';
$sql = mysql_query($query, $jobboard) or die(mysql_error());
$res = mysql_query('SELECT LAST_INSERT_ID() FROM candidates AS ID',$jobboard);
当我将查询'SELECT LAST_INSERT_ID() FROM candidates'
直接放在MySQL中作为回报时,我得到的记录与此表中的数量一样多,所有值都为0.例如,我现在有5条记录,id是2,3,4 ,5,6(我删除了第1个),我得到了这个表:
LAST_INSERT_ID()
0
0
0
0
0
如何获取最新的插入记录ID?仅限BTW 1的列为AUTO_INCREMENT
,即id
。
答案 0 :(得分:3)
答案 1 :(得分:3)
您想使用mysql_insert_id()
函数获取最后一个ID:
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');
mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n", mysql_insert_id());
?>
在这方面,您还希望转向更新,更闪亮,更安全PHP PDO - 旧的折旧mysql_ *函数的所有好处,而不会出现头痛和性病:)
答案 2 :(得分:1)
只需使用mysql_insert_id();
,您就可以在数据库中获取激光插入ID。在这种情况下,您可以像这样使用:
$query='INSERT INTO candidates (company_id, name, surname, address1, address2, city, county, postcode, cv, skills, distance) VALUES (10254, \'name\', \'surname\', \'1st Floor\', \'Street\', \'City\', \'County\', \'postcode\', \'0\', \'#6#,#3#,#2#,#1#,\', 25)';
$sql = mysql_query($query, $jobboard) or die(mysql_error());
$last_id=mysql_insert_id();//get last inserted id.