我正在创建一个简单的数据库,它是用于学习的表:
这是我的php代码(script.php)
<?php
$sql = file_get_contents("init.sql");
$servername = "localhost";
$username = "root";
$password = "";
// connect to database
$conn = new mysqli($servername, $username, $password);
if ($conn->connect_error) {
die("Connection error: " . $conn->connect_error);
}
if($conn->query($sql) == True){
echo "Database and Table has been created succesfully!";
}
else {
echo "\nError creating database and table: . $conn->error";
}
?>
这是mysql文件(init.mysql)
CREATE DATABASE test;
USE test;
CREATE TABLE Users (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
date_of_registration TIMESTAMP)
我看到的确切错误是:-
创建数据库和表时出错:。您的SQL语法有误;检查与您的MariaDB服务器版本相对应的手册,以在'USE测试附近使用正确的语法;在第二行创建表用户(id INT(6)UNSIGNED AUTO_INCREMENT PRIMARY'
我认为该代码在语法上是正确的,但是如您所见,我遇到了错误 所以我努力寻找哪里是错误但没有运气:( 或者我足够盲目看到它。
答案 0 :(得分:6)
要在一个呼叫中处理多个查询(文件中有三个),则需要使用multi_query
。更改
if($conn->query($sql) == True){
到
if($conn->multi_query($sql) == True){