如何使用MySQLi模块从一个插入查询中获取每个插入行的ID

时间:2014-06-26 21:36:12

标签: php mysql sql mysqli

我有这个表结构:

TABLE test
id int(11) AUTO_INCREMENT
value1 text
value2 text
value3 int(11)

如果我运行此查询:

SELECT value1,value2 FROM test WHERE value3=45

我会得到2行。

我有这个PHP代码。

$stmt = $mysqli->prepare("INSERT INTO test (value1,value2) SELECT value1,value2 FROM test WHERE value3=45");
$stmt->execute();
$id = $stmt->insert_id;
$stmt->close();
echo $id;

代码将插入2行,因为选择结果为2行,对吧?但$ id只是第一个插入行的id。 我怎么能得到以下插入行的id?

1 个答案:

答案 0 :(得分:-1)

如果您总是知道有多少个插入的行,您可以获得最大ID并按行数递减。