首页 > 数据库 > MySQL > 正文

PHP mysqli 增强 批量执行sql 语句的实现代码

2024-07-24 13:00:52
字体:
来源:转载
供稿:网友

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();
?>


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表