mysql -- 一次执行多条sql语句
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql -- 一次执行多条sql语句,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2976字,纯文字阅读大概需要5分钟。
内容图文
![mysql -- 一次执行多条sql语句](/upload/InfoBanner/zyjiaocheng/451/e77f832188a14fbd96b997d75d05d17a.jpg)
以下是百度到的参考资料:
使用mysqli对象中的query()方法每次调用只能执行一条SQL命令。如果需要一次执行多条SQL命令,就必须使用mysqli对象中的 multi_query()方法。具体做法是把多条SQL命令写在同一个字符串里作为参数传递给multi_query()方法,多条SQL之间使用分号 (;)分隔。如果第一条SQL命令在执行时没有出错,这个方法就会返回TRUE,否则将返回FALSE。
因为multi_query()方法能够连接执行一个或多个查询,而每条SQL命令都可能返回一个结果,在必要时需要获取每一个结果集。所以对该方 法返回结果的处理也有了一些变化,第一条查询命令的结果要用mysqli对象中的use_result()或store_result()方法来读取,当 然,使用store_result()方法将全部结果立刻取回到客户端,这种做法效率更高。另外,可以用mysqli对象中的 more_results()方法检查是否还有其他结果集。如果想对下一个结果集进行处理,应该调用mysqli对象中的next_result()方 法,获取下一个结果集。这个方法返回TRUE(有下一个结果)或FALSE。如果有下一个结果集,也需要使用use_result()或 store_result()方法来读取。执行多条SQL命令代码如下所示:
<?php $mysqli = new mysqli("localhost", "mysql_user","mysql_pwd", "demo"); //连接MySQL数据库 if (mysqli_connect_errno()) { //检查连接错误 printf("连接失败: %s<br>", mysqli_connect_error()); exit(); } /* 将三条SQL命令使用分号(;)分隔, 连接成一个字符串 */ //设置查询字符集为GB2312 $query = "SET NAMES GB2312;"; //从MySQL服务器获取当前用户 $query .= "SELECT CURRENT_USER();"; //从contactinfo表中读取数据 $query .= "SELECT name,phone FROM contactinfo LIMIT 0,2"; //执行多条SQL命令 if ($mysqli->multi_query($query)) { do { //获取第一个结果集 if ($result = $mysqli->store_result()) { //遍历结果集中每条记录 while ($row = $result->fetch_row()) { //从一行记录数组中获取每列数据 foreach($row as $data){ //输出每列数据 echo $data." "; } //输出换行符号 echo "<br>"; } //关闭一个打开的结果集 $result->close(); } //判断是否还有更多的结果集 if ($mysqli->more_results()) { //输出一行分隔线 echo "-----------------<br>"; } } while ($mysqli->next_result()); //获取下一个结果集,并继续执行循环 } $mysqli->close(); //关闭mysqli连接 ?>
输出结果如下所示:
- mysql_user@localhost
- -----------------
- 高某某 15801688338
- 洛某某 15801681234
在上面的示例程序中,使用mysqli对象中的multi_query()方法一次执行三条SQL命令,获取多个结果集并从中遍历数据。如果在命令 的处理过程中发生了错误,multi_query()和next_result()方法就会出现问题。multi_query()方法的返回值,以及 mysqli的属性errno、error、info等只与第一条SQL命令有关,无法判断第二条及以后的命令是否在执行时发生了错误。所以在执行 multi_query()方法的返回值是TRUE时,并不意味着后续命令在执行时没有出错。
mysql -- 一次执行多条sql语句
标签:
本文系统来源:http://www.cnblogs.com/hf8051/p/4612853.html
内容总结
以上是互联网集市为您收集整理的mysql -- 一次执行多条sql语句全部内容,希望文章能够帮你解决mysql -- 一次执行多条sql语句所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。