Php 用分号对字符串进行复杂的拆分

Php 用分号对字符串进行复杂的拆分,php,mysql,sql,Php,Mysql,Sql,我想导入整个数据库,它实际上是一个.sql文件,并将其导入mysql服务器。在这个数据库中,我有一个存储html代码的表 我使用mysqli连接到数据库,效果很好 $mysqli = new mysqli(mysql_host, mysql_username, mysql_password, mysql_database); 接下来,我使用函数file\u get\u contents()从.sql文件中获取内容,并将其放入$sql变量中。我在每个分号上拆分$sql。在这样做时,我有一个问题

我想导入整个数据库,它实际上是一个.sql文件,并将其导入mysql服务器。在这个数据库中,我有一个存储html代码的表

我使用
mysqli
连接到数据库,效果很好

$mysqli = new mysqli(mysql_host, mysql_username, mysql_password, mysql_database);
接下来,我使用函数
file\u get\u contents()
从.sql文件中获取内容,并将其放入
$sql
变量中。我在每个分号上拆分
$sql
。在这样做时,我有一个问题

$sql = file_get_contents(sql_filename);
$queries = preg_split("/(;|#|%%)/", $sql );
我使用
$mysqli->query
对数据库执行查询

for($i = 0; $i < count($queries)-1; $i++){
        //mysql_query($queries[$i]) or die(mysql_error());
        $result = $mysqli->query($queries[$i]);
        if (!$result) {
            die('<br>Invalid query: ' . $queries[$i]);
        } else {
            echo 'Query: '. $queries[$i] ." is successful... <br>";
        }
    }
我面临的问题是它在每个分号上都会分裂

INSERT INTO `mtgpV1_template` (`id`, `name`, `content`) VALUES
(1, 'Sjabloon 1', '<!DOCTYPE HTML><html><head>...
<style type="text/css">\r\n<!--\r\nbody,td,th {
    \r\n    font-family: verdana;\r\n   font-size: 10px;\r\n
插入到'mtgpV1_template'('id','name','content')值中
(1,'Sjabloon 1','。。。
\r\n
INSERT INTO `mtgpV1_template` (`id`, `name`, `content`) VALUES
(1, 'Sjabloon 1', '<!DOCTYPE HTML><html><head>...
<style type="text/css">\r\n<!--\r\nbody,td,th {
    \r\n    font-family: verdana;\r\n   font-size: 10px;\r\n
$sql = file_get_contents(sql_filename);
$mysqli->multy_query($sql);