我很抱歉我的PHP技能,但我只是不知道如何执行这个简单的任务,即插入一个新行并将其ID保存到变量中。 这就是我得到的:
// mysql inserting a new row
$sql = "INSERT INTO `order` (orderTitle, orderDescription, orderPrice,userID, categoryID)
VALUES('$title', '$description','$price','$userID','$category');";
$sql .= "SELECT LAST_INSERT_ID();";
$result = mysqli_multi_query($con,$sql);
$result_get_id= mysqli_next_result($con);
$row = mysqli_fetch_row($result_get_id);
$order_id = $row[0]; // <-- how to get this value??
我意识到row [0]不起作用,这就是为什么我想知道如何正确提取LAST_INSERT_ID()值。
答案 0 :(得分:1)
这里有几件事......
mysqli_multi_query
- 在您的示例中没有必要。仅在mysqli_query
上使用INSERT
。无需在SQL中查询最后一个插入ID。mysqli_insert_id
查询后直接致电INSERT
。您可以将其分配给变量,例如$order_id = mysqli_insert_id();
答案 1 :(得分:0)
您正在使用的数据库类内置了此功能,例如mysqli_insert_id(),或PDO $ db-&gt; lastInsertId()。
$mysqli->query("INSERT INTO order ... ");
printf ("Primary key of new record: %d.\n", $mysqli->insert_id);