mysqli 增強-批量執行sql 語句
<?php //mysqli 增強-批量執行sql 語句 //批量執行dql //使用mysqli的mysqli::multi_query() 一次性添加3個使用者 $mysqli =new MySQLi("localhost","root","root","test"); if($mysqli->connect_error){ die ("串連失敗".$mysqli->connect_error); } //注意分號 $sqls="insert into user1 (name,password,email,age) values('AAA',md5('AAA'),'AAA@hu.com',25);"; $sqls.="insert into user1 (name,password,email,age) values('BBB',md5('BBB'),'BBB@hu.com',25);"; $sqls.="insert into user1 (name,password,email,age) values('CCC',md5('CCC'),'CCC@hu.com',25);"; //批量執行dml 可以混合使用delete insert update 最好不要使用select //$sqls.="update user1 set age=15 where id=1;"; //$sqls.="delete from user1 where id=10"; $res=$mysqli->multi_query($sqls); if(!$res){ echo "操作失敗".$mysqli->error; }else{ echo "OK"; }?>
2、批量查詢
<?php //使用mysqli的mysqli::multi_query() 一次性查詢表的機構和表中的內容 //1、建立mysqli對象 $mysqli=new MySQLi("localhost","root","root","test"); if($mysqli->connect_error){ die("串連失敗".$mysqli->connect_error); } //2、批量查詢語句 $sqls="select *from user1;"; $sqls.="desc user1"; //3、處理結果 //如果成功,至少有一個結果集 if($res=$mysqli->multi_query($sqls)){ do{ //取出第一個結果集 $res=$mysqli->store_result(); while($row=$res->fetch_row()){ foreach($row as $val){ echo '--'.$val; } echo '<br/>'; } //及時釋放記憶體 $res->free(); //判斷是否還有結果集 if($mysqli->more_results()){ echo "********新的結果集***************<br/>"; }else{ break; } }while($mysqli->next_result()); } //4、關閉資源 $mysqli->close();?>