【问题标题】:mysqli and php creating a table that doesn't existmysqli 和 php 创建一个不存在的表
【发布时间】:2016-03-15 13:21:48
【问题描述】:

我的代码有什么问题?

它返回以下错误:

您的 SQL 语法有错误;检查手册 对应于您的 MySQL 服务器版本,以便使用正确的语法 'EXIST test1 (id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 名字 VARCHAR(3' 在第 1 行

<?php
$servername = "localhost";
$username = "root";
$password = "passtest";
$database = "daily";
$table = "test1";


$conn = new mysqli($servername, $username, $password, $database);


if (mysqli_connect_error()) {
    die("Database connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";



$sql = "CREATE TABLE IF NOT EXIST $table (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL
)";

if ($conn->query($sql) === TRUE) {
    echo "Table MyGuests created successfully";
} else {
    echo "Error creating table: " . $conn->error;
}

$conn->close();
?> 

【问题讨论】:

  • EXISTS 不是EXIST

标签: php mysql


【解决方案1】:

您的 SQL 指令应该是:

$sql = "CREATE TABLE IF NOT EXISTS $table (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL
)";

--> 不存在S

【讨论】:

    【解决方案2】:
    <?php
    $con = mysqli_connect("localhost","root","passtest","daily");
    if (mysqli_connect_error()) {
    die("Database connection failed: " . 
    mysqli_connect_error());
    }
    
    $create_table = "CREATE TABLE IF NOT EXIST `test1` 
    (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    firstname VARCHAR(30) NOT NULL,
    lastname VARCHAR(30) NOT NULL
    )";
    
    $create_tbl = $con->query($create_table);
    if ($create_table)
    {
        echo "Table has created";
    }
    else 
    {
        echo "error!!";  
    }
    
    $con->close();
    ?>
    

    【讨论】:

    • 错字(EXISTS 中缺少“S”)仍然存在。
    猜你喜欢
    • 2020-06-25
    • 1970-01-01
    • 2015-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-09
    相关资源
    最近更新 更多