如何利用php自动执行.sql文件,就是获取sql文件中的内容,然后将每一句sql语句一次执行。

代码example:

//读取文件内容
$_sql = file_get_contents('test.sql');
 
$_arr = explode(';', $_sql);
$_mysqli = new mysqli(DB_HOST,DB_USER,DB_PASS);
if (mysqli_connect_errno()) {
    exit('连接数据库出错');
}
//执行sql语句
foreach ($_arr as $_value) {
    $_mysqli->query($_value.';');
}
$_mysqli->close();
$_mysqli = null;

上面text.sql是你需要执行的sql文件,DB_HOST主机名,DB_USER用户名,DB_PASS密码!

这只是最基本的自动执行sql文件,你还可以自定义生成数据库的名称,方法就是将sql文件中下面的代码删去

CREATE DATABASE IF NOT EXISTS 数据库名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE 数据库名

加上

$_mysqli->query("CREATE DATABASE IF NOT EXISTS 数据库名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;");
$_mysqli->query("USE 数据库名");

注:如果分割 SQL 内容用的是 ; 加上换行符,则要注意到 SQL 导出的平台,Linux 为 \n,windows 为 \r\n, MacOS 为 \r