如何获取插入行的 ID?

How do I get the ID of an inserted row?

我有以下示例查询,它有效 - 我可以将值插入到我的 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;

PreparedStatement上调用execute()方法后,插入行的id会在insert_id属性中只读

$stmt->execute(); 
$gotId = $stmt->insert_id;

Taken from here

 $query = "INSERT INTO .......";
 $mysqli->query($query);
 printf ("New Record has id %d.\n", $mysqli->insert_id);

More Info