2014-02-26 69 views
0

这是我的代码。但是每次创建表tblStudents时显示错误。这是为什么?尽快需要解决方案。PHP MySQL无法创建表格

<?php 

$con=mysqli_connect("localhost","root","noor.xbyte","fathis_quran_class"); 
if (mysqli_connect_errno()) { 
    echo '&lt;h1>Error Connecting to the database!&lt;/h1>'; 
} else { 
    $sql = "CREATE TABLE tblStudents 
    (
    index INT NOT NULL AUTO_INCREMENT, 
    PRIMARY KEY(index), 
    fullName CHAR(30) NOT NULL, 
    dateOfBirth DATE NOT NULL, 
    SID TINYINT NOT NULL, 
    address CHAR(30) NOT NULL, 
    level TINYINT NOT NULL,)"; 
    if (mysqli_query($con,$sql)) { 
    echo 'Table "tblStudents" created successfully!'; 
    } else { 
    echo 'Error creating table "tblStudents"'; 
    } 
} 

?>; 
+1

'CREATE TABLE tblStudents IF NOT EXISTS'。 http://dev.mysql.com/doc/refman/5.1/en/create-table.html –

+0

在'level TINYINT NOT NULL'之后移除','' – Gautam3164

+1

您可能需要引用索引,因为它是一个sql保留字 –

回答

4

你有一些错误,这里是正确的说法

CREATE TABLE `table_name` 
(
    `index` INT NOT NULL AUTO_INCREMENT, 
    PRIMARY KEY(`index`), 
    fullName CHAR(30) NOT NULL, 
    dateOfBirth DATE NOT NULL, 
    SID TINYINT NOT NULL, 
    address CHAR(30) NOT NULL, 
    level TINYINT NOT NULL 
) 

你不得不进行的错误:

  • 指数是一个保留关键字,以便使用反引号`index`为列名称
  • “level TINYINT NOT NULL”后面有一个额外的逗号(,)。
+0

谢谢。它解决了问题 –

+0

很高兴帮助你! –

1

为字段'index'提供另一个名称。你不能使用它,因为它是保留字。

0

index这里是保留关键字。

所以,你需要添加一个倾斜(`)来索引。

更正代码:

CREATE TABLE tblStudents 
(
    `index` INT NOT NULL AUTO_INCREMENT, 
    PRIMARY KEY(`index`), 
    fullName CHAR(30) NOT NULL, 
    dateOfBirth DATE NOT NULL, 
    SID TINYINT NOT NULL, 
    address CHAR(30) NOT NULL, 
    level TINYINT NOT NULL 
) 
0
**Try below code,I think it will work fine..** 




<?php 

    $con=mysqli_connect("localhost","root","noor.xbyte","fathis_quran_class"); 
    if (mysqli_connect_errno()) { 
     echo '&lt;h1>Error Connecting to the database!&lt;/h1>'; 
    } else { 
     $sql = "CREATE TABLE tblStudents(

     index int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY (`index`), 
     fullName varchar(30) NOT NULL, 
     dateofbirth date NOT NULL, 
     SID tinyint(4) NOT NULL, 
     address varchar(30) NOT NULL, 
     level tinyint(4) NOT NULL); 
     if (mysqli_query($con,$sql)) { 
     echo 'Table "tblStudents" created successfully!'; 
     } else { 
     echo 'Error creating table "tblStudents"'; 
     } 
    } 

    ?>;