gpt4 book ai didi

php - MySQLi 无法在 PHP 中创建新表

转载 作者:搜寻专家 更新时间:2023-10-30 22:25:19 25 4
gpt4 key购买 nike

我对在 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);

这会产生以下错误消息:

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'use mc_todo_app; CREATE TABLE todos ( id INT PRIMARY KEY AUTO_INCREMENT, tas' at line 3

以下是我的数据库服务器的详细信息: enter image description here

我什至尝试了 W3Schools 的基本表格创建语句,但没有成功。

我做错了什么?

最佳答案

mysqli_query() 一次只能执行一个查询,而您正试图执行多个查询。您可以改用 mysqli_multi_query()

$sql = file_get_contents('data/init.sql');
$result = mysqli_multi_query($conn, $sql);

关于php - MySQLi 无法在 PHP 中创建新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53140318/

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