我在mysql中找不到*确切*语法错误

dav*_*ave -2 php mysql

我正在创建一个简单的数据库,它是用于学习目的的表:

这是我的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";
 }

 ?>
Run Code Online (Sandbox Code Playgroud)

这是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)
Run Code Online (Sandbox Code Playgroud)

我看到的确切错误是: -

创建数据库和表时出错:.您的SQL语法有错误; 检查与您的MariaDB服务器版本对应的手册,以便在'USE测试附近使用正确的语法; CREATE TABLE用户(第2行的id INT(6)UNSIGNED AUTO_INCREMENT PRIMARY'

在我看来,该代码在语法上是正确的,但你看我正因此,我在努力寻找一个错误,其中的错误,但没有运气:(还是我够盲目地看到它.

Nic*_*ick 6

要在一次调用中处理多个查询(文件中有三个),您需要使用multi_query.更改

if($conn->query($sql) == True){
Run Code Online (Sandbox Code Playgroud)

if($conn->multi_query($sql) == True){
Run Code Online (Sandbox Code Playgroud)