我有以下示例查询,它可以工作 - 我可以将值插入到我的MySQL表中,该表还包含一个唯一的id列。我想在执行查询后从插入的行中获取id。但是我每次($gotId=0)
得到的都是0。
我做错了什么?
$stmt = $conn->prepare("INSERT INTO ....... ");
$stmt-> bind_param("ss", ....);
$stmt->execute();
$gotId = $conn->insert_id;
完整查询:
$conn = $db->connect();
$stmt = $conn->prepare("INSERT INTO table(value1, value2) VALUES(?, ?)");
$stmt-> bind_param("ss", $value1, $value2);
$stmt->execute();
$gotId = $conn->insert_id;
答案 0 :(得分:2)
在execute()
上调用PreparedStatement
方法后,插入行的ID将位于insert_id
属性中,只读它。
$stmt->execute();
$gotId = $stmt->insert_id;
答案 1 :(得分:0)
$query = "INSERT INTO .......";
$mysqli->query($query);
printf ("New Record has id %d.\n", $mysqli->insert_id);