mysqli和php创建一个不存在的表

时间:2016-03-15 13:21:49

标签: php mysql

我的代码出了什么问题?

它返回以下错误:

  

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   near' 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();
?> 

2 个答案:

答案 0 :(得分:2)

您的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
)";

- &GT;不存在 S

答案 1 :(得分:-1)

<?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();
?>