您好我正在尝试使用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;
答案 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。