无法获得上次插入PHP的ID

时间:2015-05-10 00:49:01

标签: php mysql

您好我正在尝试使用php将对象插入MySql表,然后获取新创建的对象的Id,但我无法弄清楚它为什么不起作用。这就是我所拥有的:

$query = "INSERT INTO `".$Table."` (`ID`) VALUES (NULL);";
$resultset = mysql_query($query, $connection);

$query = "SELECT LAST_INSERT_ID() INTO @".$Table.";";
$resultset = mysql_query($query, $connection);

echo mysql_fetch_assoc($resultset);

插入效果很好,但我只是得到一个空值,我应该得到Id。谢谢!

新守则:

$query = "INSERT INTO `".$Table."` (`ID`) VALUES (NULL); ";
$resultset = mysql_query($query, $connection);
$id = mysql_insert_id();

echo $id;

2 个答案:

答案 0 :(得分:2)

此SQL查询:

 SELECT LAST_INSERT_ID() INTO @Something;

不返回结果集。 (它确实设置了变量。)所以,你的fetch_assoc语句并没有得到任何回报。

如果您希望结果集中的id执行此操作。

 SELECT LAST_INSERT_ID();

或者,使用mysql_insert_id()函数。

答案 1 :(得分:1)

在执行第一个查询后,您必须使用我告诉您的功能: -

$id = mysql_insert_id();

然后将您的第二个查询LAST_INSERT_ID()更改为$ id。

注意: - 请在第二次查询时使用$ id处理双重和单引号。

此外,mysql_ *现已正式弃用。为此目的使用mysqli_ *或PDO。

相关问题