获取单个 mysqli 查询中插入的所有行的 insert_id (多个值)

Joe*_*vin 3 php mysql mysqli mysql-insert-id

使用 PHP 并使用 MYSQLI。尝试获取从具有多个值的单个插入查询插入的所有行的 insert_id。将其保留在一次调用中以提高效率。我的实际代码在一个插入查询中有数百个值。不过,这里有一些仅包含 4 个值的插入的示例代码:

$sql = "INSERT INTO link_tags ( string_names_id, urls_id ) 
    VALUES ( '2', '17' ), ( '8', '31' ), ( '8', '1' ), ( '8', '4' )";

$mysqli->query($sql);

echo "id's: " .$mysqli->insert_id;
Run Code Online (Sandbox Code Playgroud)

上面的代码实现了插入,但只给出了调用中第一个插入的 id。如何检索该单个查询的所有 ID?

小智 6

应该可以安全地假设您的 id 是 mysql_insert_id + 接下来的 3 个(无论什么)连续,因为您的语句是在一个事务中完成的