$sqls="sql語句1;sql語句2;sql語句n";php
或 $sqls="insert into xx;"; $sqls.="insert into xx;";mysql
$res=mysqli::multi_query($sqls);sql
若是$sqls 是dml 語句,則$res 返回布爾值;數據庫
若是$sqls 是dql 語句,則$res 返回多個結果集,須要使用mysqli::store_result()fetch
和 mysqli::more_results() mysqli::next_result() 配合取出各個結果集spa
1 <?php 2 //鏈接數據庫 3 $mysqli=new MySQLi("localhost","root","root","test"); 4 //判斷是否鏈接成功 5 if($mysqli->connect_error){ 6 die("鏈接失敗".$mysqli->connect_error); 7 } 8 //拼接sql語句,注意-->雙引號裏的分號不可少!!! 9 $sqls="insert into user1 (name,password,age,birthday) values ('wpp',md5('wpp'),25,'1991-05-05');"; 10 $sqls.="insert into user1 (name,password,age,birthday) values ('zs',md5('zs'),26,'1990-01-01');"; 11 $sqls.="insert into user1 (name,password,age,birthday) values ('ls',md5('ls'),26,'1990-02-01');"; 12 //批量執行dml語句 13 $res=$mysqli->multi_query($sqls); 14 //判斷執行結果 15 if(!$res){ 16 echo "操做失敗"; 17 }else{ 18 echo "操做成功"; 19 } 20 //關閉鏈接 21 $mysqli->close(); 22 ?>
1 <?php 2 //鏈接數據庫 3 $mysqli=new MySQLi("localhost","root","root","test"); 4 //判斷是否鏈接成功 5 if($mysqli->connect_error){ 6 die("鏈接失敗".$mysqli->connect_error); 7 } 8 //拼接sql語句,注意-->雙引號裏的分號不可少!!! 9 $sqls="desc user1;"; 10 $sqls.="select * from user1"; 11 //批量執行dql語句 12 $res=$mysqli->multi_query($sqls) or die("操做失敗".$mysqli->error); 13 //處理執行結果 14 do{ 15 echo"<br/>-----結果以下-----<br/>"; 16 //取出第一個結果集 17 $result=$mysqli->store_result(); 18 //顯示結果 19 while($row=$result->fetch_row()){ 20 foreach($row as $key=>$val){ 21 echo "--".$val; 22 } 23 echo "<br/>"; 24 } 25 //及時釋放結果集 26 $result->free(); 27 }while($mysqli->more_results()&&$mysqli->next_result()); 28 //關閉鏈接 29 $mysqli->close(); 30 ?>
結果以下:3d
1 <?php 2 //批量執行sql語句(dql),以表格形式顯示在網頁 3 //鏈接數據庫 4 $mysqli=new MySQLi("localhost","root","root","test"); 5 //判斷是否鏈接成功 6 if($mysqli->connect_error){ 7 die("鏈接失敗".$mysqli->connect_error); 8 } 9 //拼接sql語句,注意-->雙引號裏的分號不可少!!! 10 $sqls="desc user1;"; 11 $sqls.="select * from user1"; 12 //批量執行dql語句 13 $res=$mysqli->multi_query($sqls) or die("操做失敗".$mysqli->error); 14 //處理執行結果 15 do{ 16 echo"<br/>-----結果以下-----<br/>"; 17 //取出第一個結果集 18 $result=$mysqli->store_result(); 19 echo "<table border=1 cellspacing=0 cellpadding=3px><tr>"; 20 //顯示錶頭和表的第一行內容 21 $fieldName=$result->fetch_assoc(); 22 foreach($fieldName as $key=>$val){ 23 echo "<th>$key</th>"; 24 } 25 echo "</tr><tr>"; 26 foreach($fieldName as $key=>$val){ 27 echo "<td>$val</td>"; 28 } 29 echo "</tr>"; 30 //顯示錶的第二行之後的內容 31 while($row=$result->fetch_row()){ 32 echo "<tr>"; 33 foreach($row as $key=>$val){ 34 echo "<td>$val</td>"; 35 } 36 echo "</tr>"; 37 } 38 echo "</table>"; 39 //及時釋放結果集 40 $result->free(); 41 }while($mysqli->more_results()&&$mysqli->next_result()); 42 //關閉鏈接 43 $mysqli->close(); 44 ?>
結果以下:code