(编辑:jimmy 日期: 2024/12/27 浏览:2)
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();
?>