我对在PHP中运行基本SQL语句感到沮丧。我一直遇到语法错误,要求我引用当前的MySQL服务器版本。
我正在尝试运行以下SQL查询:
CREATE DATABASE mc_todo_app;
use mc_todo_app;
CREATE TABLE todos (
id INT PRIMARY KEY AUTO_INCREMENT,
task VARCHAR(255) NOT NULL,
completed BOOLEAN DEFAULT FALSE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
然后在PHP中,我尝试运行此脚本。
require "config.php";
// Create connection
$conn = mysqli_connect($host, $username, $password);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = file_get_contents('data/init.sql');
$result = mysqli_query($conn, $sql);
if (false === $result) {
printf("Error: %s\n", mysqli_error($conn));
} else {
echo "DB and Table successfully created!";
}
mysqli_close($conn);
这将产生以下错误消息:
错误:您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以在'use mc_todo_app'附近使用正确的语法; 创建表待办事项( id INT主键AUTO_INCREMENT, tas'在第3行
我什至尝试从W3Schools获得基本的Table创建语句,都没有成功。
我在做什么错了?
答案 0 :(得分:2)
mysqli_query()
一次只能执行一个查询,而您尝试执行多个查询。您可以改用mysqli_multi_query()
。
$sql = file_get_contents('data/init.sql');
$result = mysqli_multi_query($conn, $sql);