Php 用分号对字符串进行复杂的拆分
我想导入整个数据库,它实际上是一个.sql文件,并将其导入mysql服务器。在这个数据库中,我有一个存储html代码的表 我使用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。在这样做时,我有一个问题
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);