首页 > 代码库 > 批量执行sql语句
批量执行sql语句
- 基本使用
$sqls="sql语句1;sql语句2;sql语句n";
或 $sqls="insert into xx;"; $sqls.="insert into xx;";
$res=mysqli::multi_query($sqls);
如果$sqls 是dml 语句,则$res 返回布尔值;
如果$sqls 是dql 语句,则$res 返回多个结果集,需要使用mysqli::store_result()
和 mysqli::more_results() mysqli::next_result() 配合取出各个结果集
- 批量执行dml语句(insert、update、delete语句可以混合拼接)
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 ?>
- 查询user1 表的结构和表的内容并显示
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 ?>
结果如下:
- 查询user1 表的结构和表的内容并用表格显示在网页
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 ?>
结果如下:
批量执行sql语句
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。