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'),'[email protected]',25);";
$sqls.="insert into user1 (name,password,email,age) values('BBB',md5('BBB'),'[email protected]',25);";
$sqls.="insert into user1 (name,password,email,age) values('CCC',md5('CCC'),'[email protected]',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();
?>