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

正常状况下用php的mysql_query函数是不能批量执行多句CREATE TABLE之类的语句的;php

而有些场景;好比说有一个sql备份文件、又或是程序初始化时建立数据表结构的时候须要批量执行文件中的sql语句;mysql

解决这个问题能够用explode函数按';'号把sql语句拆成数组;再经过循环执行mysql_query便可;由于每句sql都是以';'号结束的;
sql

可是考虑到sql语句中可能有实体符号  之类的;若是按';'号来拆;容易误伤;因此用preg_split正则来拆更靠谱;数组

示例环境:函数

sql文件:./thinkbjy.sqlcode

        $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>';用来查看是否有错误;get

白俊遥博客

相关文章
相关标签/搜索