php函数mysql_query批量执行多句sql语句

正常情况下用php的mysql_query函数是不能批量执行多句CREATE TABLE之类的语句的;
而有些场景;
比如说有一个sql备份文件、又或是程序初始化时创建数据表结构的时候需要批量执行文件中的sql语句;
解决这个问题可以用explode函数按;号把sql语句拆成数组;
再通过循环执行mysql_query即可;
因为每句sql都是以;号结束的;
但是考虑到sql语句中可能有实体符号  之类的;
如果按;号来拆;
容易误伤;
所以用preg_split正则来拆更靠谱;
示例环境:
sql文件:./thinkbjy.sql

$sql_array=preg_split("/;[\\r\\n]+/", file_get_contents('./thinkbjy.sql'));
foreach ($sql_array as $k => $v) {
   mysql_query($v,$link);
   echo mysql_error().'<br>';
}

执行 echo mysql_error().'<br>';用来查看是否有错误;
白俊遥博客

白俊遥博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论
  • 本站使用自主开发的laravel-bjyblog开源博客程序搭建 © 2014-2016 baijunyao.com 版权所有 ICP证:豫ICP备14009546号-3
  • 联系邮箱:baijunyao@baijunyao.com