【问题标题】:mysql table creation failedmysql建表失败
【发布时间】:2014-03-09 07:51:28
【问题描述】:

好吧,我遵循了堆栈溢出问题的答案,但表格不是在 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

【问题讨论】:

  • 你检查它是否进入了 if 循环?
  • 你没有得到错误是因为你没有使用mysqli_error($con)
  • 是的,它在 if 循环中,我在粘贴时弄乱了。我现在正在编辑它。可以的话请回答。
  • 不确定,但如果您的查询没有给出答案,您想创建一个表。在那种情况下,这个查询可能会更快。 CREATE TABLE IF NOT EXISTS ap_reg ...
  • 好的,我现在检查错误。

标签: php mysql sql


【解决方案1】:

试试这个:

$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 ());
     }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-20
    • 1970-01-01
    • 2018-11-06
    • 2017-11-18
    • 1970-01-01
    • 2012-04-29
    • 1970-01-01
    相关资源
    最近更新 更多