学习了php调用MySQL数据的知识后,可以简单的对数据库调用和处理.但是这种处理仅仅是局限于一条语句一条语句的执行,这不仅效率不高,而且稳定性也不佳.所以用到了MySQL语句的批量执行,在发送一次请求中,执行多个sql语句.顿时感觉牛逼多了.Y(^o^)Y~
1.DQL语句的批量执行.
<?php
@$conn=new mysqli("localhost","root");
if($conn->connect_error)
die("数据库连接错误".$con->connect_error);
$conn->select_db("php");
$sqls="insert into student (name,age) values ('jake',10);";
$sqls.="insert into student (name,age) values ('rose',9);";
$sqls.="insert into student(name,age) values ('smith',9)";
$res=$conn->multi_query($sqls);
if(!$res) die("数据修改失败");
else echo "数据修改成功";
?>
2.DML语句的批量执行
<?php
@$conn=new mysqli("localhost","root");
if($conn->connect_error)
die("数据库连接失败".$conn->connect_error);
$conn->select_db('php');
$sqls="select * from score;";
$sqls.="select * from student";
if(!$conn->multi_query($sqls)) die("数据库查询失败");//判断数据查询的有效性
do
{
//从mysqli中取出第一个结果集
$result=$conn->store_result();
//判断合法性
if(!$result) exit("结果集获取失败");
while($row=$result->fetch_row())
{
foreach ($row as $val)
echo "$val ";
echo "<br/>";
}
$result->free();
if(!$conn->more_results()) break;
echo "<br/>***************************<br/>";
}
while($conn->next_result());//判断下一个结果集的有效性
?>
DML语句的批量执行比DQL的复杂点,因为涉及到了很多的判断.