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

白俊遙博客

相關文章
相關標籤/搜索