我正在制作一个php设置页面,并希望在单击submit按钮时运行一个sql文件。不过,在sql文件中,我有2个create table,只有在有1个create table的情况下它才能工作。下面的代码段:
CREATE TABLE users (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
username varchar(255) NOT NULL,
email varchar(255) NOT NULL,
password varchar(255) NOT NULL
);
CREATE TABLE details (
name varchar(255),
server_ip varchar(255),
store_link varchar(255),
bans_link varchar(255)
);
php代码:
include("../config.php");
$slashy = file_get_contents("setup.sql");
mysqli_query($conn, $slashy);
2条答案
按热度按时间dbf7pr2w1#
不太确定您在这里想要实现什么,但是如果您在创建表之前尝试验证表是否存在,那么t-sql将如下所示。。
e4yzc0pl2#
代码假定文件中只有一条语句。
您可以(1)解析语句以按顺序执行它们,或者(2)通过外部调用mysql命令来执行文件。
1. 解析
解析语句看起来像是一项简单的任务
但要小心,因为它很容易被内部命令、嵌入的分号和其他陷阱捕获。
2. 外部命令
看起来也很简单
但又会被抓到以跨平台的方式适应适当的命令。