将mysqli_multi_query与多个查询一起使用时无法提交

时间:2011-02-05 21:21:06

标签: php sql mysql database

我正在尝试提交一个mysql多查询,但我不能......

当mysqli_multi_query“查询”有多个查询时,无法提交它。但是,当mysqli_multi_query“query”具有唯一查询时,它将被正确提交。在这两种情况下执行都没问题。

例如:

// No commits
$query = "insert into table(id) values (3); insert into table(id) values (4); insert into table (id) values (5);";
$connection = getConnection( ... );
mysqli_multi_query( $connection, $query );
mysqli_commit( $connection );

此代码提交:

// This will commits
$query = "insert into table(id) values (3)";
$connection = getConnection( ... );
mysqli_multi_query( $connection, $query );
mysqli_commit( $connection );

1 个答案:

答案 0 :(得分:1)

您不需要为此发出多个查询,一个INSERT查询可以包含要一次插入的多行值。它也比发出多个单独的查询快得多。

INSERT INTO table (id) VALUES (3), (4), (5)

然后,您可以使用mysql_query / mysqli_query代替很少使用的多查询内容。