<?PHP
$connection=MysqLi_connect("localhost","root","","entries");
$query1="select * from jobs";
$query1exe=MysqLi_query($connection,$query1);
$loopcount=0;
while($query1collector=MysqLi_fetch_array($query1exe,MysqLI_ASSOC)) {
$query2="insert into learning set name='new_1';
insert into learning set name='new_2';";
MysqLi_multi_query($connection,$query2);
$loopcount++;
}
echo($loopcount);
?>
在这段代码中,我得到的输出为104($loopcount),这意味着循环执行了104次.但是在名为“学习”的表中,只有两个新条目new_1和new_2.我预计会有208个新条目(new_1 104次和new_2 104次).为什么我没有得到预期的结果.
我正在使用PHP 5.5.11版本
P.S我想使用MysqLi_multi_query本身,因为我需要同时执行一些查询.
这是我三遍执行代码时学习表的样子
--------------------------------------------------------
slno | name | city | Phone
--------------------------------------------------------
1 | sandeep | NULL | NULL
-------------------------------------------------------
2 | new_1 | NULL | NULL
-------------------------------------------------------
3 | new_2 | NULL | NULL
-------------------------------------------------------
4 | new_1 | NULL | NULL
-------------------------------------------------------
5 | new_2 | NULL | NULL
------------------------------------------------------
6 | new_1 | NULL | NULL
------------------------------------------------------
7 | new_2 | NULL | NULL
-------------------------------------------------------
解决方法:
if you mix $MysqLi->multi_query and $MysqLi->query, the latter(s) won’t be executed!
MysqLi_query($connection,"insert into learning set name='new_1'");
MysqLi_query($connection,"insert into learning set name='new_2'");