mysql表创建失败

时间:2014-02-11 13:33:31

标签: php mysql sql

好吧我跟着堆栈溢出问题的答案,但是表格没有在phpmyadmin中创建,也没有显示错误。这是我的代码:

$query = "SELECT ID FROM ap_reg";
$result = mysqli_query($con, $query);

if(empty($result)) {
            $query = "CREATE TABLE ap_reg (
                      ID int(11) AUTO_INCREMENT,
                      TITLE varchar(255) ,
                      NAME varchar(255) ,
                      EMAIL varchar(255) ,
                      PHONE varchar(255) ,
                      COUNTRY varchar(255) ,
                      POSTAL_CODE varchar(255) ,
                      TYPE varchar(255) ,
                      APARTMENT_TYPE varchar(255) ,
                      SOURCE varchar(255) ,
                      FINANCE varchar(255) ,
                      PRICE_RANGE varchar(255) ,
                      PURCHASE_WINDOW varchar(255) ,
                      COMMENT TEXT ,
                      DATE varchar(255) ,
                      TIME varchar(255) ,
                      PRIMARY KEY  (ID)
                      )";
            $result = mysqli_query($con, $query);
}

和她是该问题的链接

stack overflow question

1 个答案:

答案 0 :(得分:0)

试试这个:

$query = "CREATE TABLE IF NOT EXISTS ap_reg ( ID int(11) AUTO_INCREMENT, 
    TITLE varchar(255) , 
    NAME varchar(255) , 
    EMAIL varchar(255) , 
    PHONE varchar(255) , 
    COUNTRY varchar(255) , 
    POSTAL_CODE varchar(255) , 
    TYPE varchar(255) , 
    APARTMENT_TYPE varchar(255) , 
    SOURCE varchar(255) , 
    FINANCE varchar(255) , 
    PRICE_RANGE varchar(255) , 
    PURCHASE_WINDOW varchar(255) , 
    COMMENT TEXT , 
    DATE varchar(255) , 
    TIME varchar(255) , 
    PRIMARY KEY (ID) )"; 

mysqli_query($con, $query) or die(mysqli_error());

这将消除测试是否在第一次查询中得到结果的需要,如果不存在则直接创建表。

但是,如果你坚持不想使用IF NOT EXISTS,也可以试试这个:

$query = "SELECT ID FROM ap_reg";

$result = mysqli_query($con, $query); 

if(empty($result)) { 
    $query = "CREATE TABLE ap_reg ( ID int(11) AUTO_INCREMENT, 
    TITLE varchar(255) , 
    NAME varchar(255) , 
    EMAIL varchar(255) , 
    PHONE varchar(255) , 
    COUNTRY varchar(255) , 
    POSTAL_CODE varchar(255) , 
    TYPE varchar(255) , 
    APARTMENT_TYPE varchar(255) , 
    SOURCE varchar(255) , 
    FINANCE varchar(255) , 
    PRICE_RANGE varchar(255) , PURCHASE_WINDOW varchar(255) ,
     COMMENT TEXT , DATE varchar(255) , 
    TIME varchar(255) , 
    PRIMARY KEY (ID) )"; 

mysqli_query($con, $query) or die(mysqli_error ());
     }