gpt4 book ai didi

php - 通过分号对字符串进行复杂的分割

转载 作者:行者123 更新时间:2023-11-29 12:56:22 25 4
gpt4 key购买 nike

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

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

$mysqli = new mysqli(mysql_host, mysql_username, mysql_password, mysql_database);

接下来,我使用函数 file_get_contents() 从 .sql 文件中获取内容,并将其放入 $sql var 中。我将 $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>";
}
}

这工作正常:

drop database if exists databasename;
create database business_databasename;
use databasename;

我面临的问题是它在每个分号上分开。

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 文件并使用 php 代码执行多个查询?

最佳答案

$sql = file_get_contents(sql_filename);
$mysqli->multy_query($sql);

关于php - 通过分号对字符串进行复杂的分割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23997922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com