2013-03-26 103 views
-1
<?php 

$con = mysqli_connect("localhost","root","PASSWORD","DATABASE"); 
// Check connection 
if (mysqli_connect_errno()) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

// Create table 
$sql = "CREATE TABLE contact 
(
    contact_id  varchar(36)  NOT NULL, 
    active   bit(1)   NOT NULL, 
    first_name  varchar(25)  NULL, 
    last_name  varchar(25)  NULL, 
    address_id  varchar(36)  NULL, 
    company_name varchar(50)  NULL, 
    contact_type var_char(50) NULL, 
    contact_type int    NOT NULL, 
    cell_number  varchar(15)  NULL 
)"; 

// Execute query 

if (mysqli_query($con,$sql)) { 
    echo "Table contact created successfully."; 
} else { 
    echo "Error creating table(s). Error #: " . mysqli_errno($con); 
} 
?> 

我得到錯誤1064,無法弄清楚我在做什麼錯了。我基本上是創建多個表並將它們複製到我創建的新表中。我改變的唯一的東西是列。但他們對我來說很好。任何意見讚賞。PHP/MYSQL /創建表錯誤1064

+2

使用['mysqli_error'(http://php.net/mysqli_error)得到的不僅僅是錯誤號 – kero 2013-03-26 18:44:14

+0

也就越多,做一些故障排除和代碼檢查之前發佈到SO。研究會告訴你錯誤#1064是一個[解析錯誤](http://dev.mysql.com/doc/refman/5.0/en/error-messages-server.html#error_er_parse_error) – UnholyRanger 2013-03-26 18:45:06

+1

你真的應該測試你的查詢然後將它們壓縮到您的代碼中。 'mysql'命令行工具總比沒有好,並且MySQL有六個前端,包括[官方工具](http://dev.mysql.com/downloads/workbench/5.2.html)。 – tadman 2013-03-26 18:48:35

回答

1

有一個錯字:中var_char代替varchar

而且還2列具有相同名稱:contact_type

+0

謝謝你解決了它。將標記爲幾分鐘內解決。我無法相信我查了多少次這個代碼,並且錯過了最明顯的東西。 – 2013-03-26 18:49:04

0

CONTACT_TYPE var_char(50)NULL, CONTACT_TYPE INT NOT NULL,

同名

+0

謝謝,就是這樣。 – 2013-03-26 18:52:59

0

這裏你應該去

CREATE TABLE contact 
(
contact_id  varchar(36)  NOT NULL, 
active   bit(1)   NOT NULL, 
first_name  varchar(25)  NULL, 
last_name  varchar(25)  NULL, 
address_id  varchar(36)  NULL, 
company_name varchar(50)  NULL, 
contact_type varchar(50) NULL, 
contact_type2 int    NOT NULL, 
cell_number  varchar(15)  NULL 
) 
  • 你有錯字在var_char應該是VARCHAR

  • 你有重複的表名contact_type我有第二次更改爲contact_type2,您可以將其重命名以任何ü希望,但不應該被dubplicated。或者刪除其中的一個,你不用。

demo here

0

的SQL語句是不正確

有一個duplicate column name contact_type。在同一個表中創建一個重複的列是不允許的。

另外var_char is not a TYPE。用varchar(50)替換var_char(50)。創建聯繫人表

正確的SQL查詢

CREATE TABLE contact2 
(
    contact_id  varchar(36)  NOT NULL, 
    active   bit(1)   NOT NULL, 
    first_name  varchar(25)  NULL, 
    last_name  varchar(25)  NULL, 
    address_id  varchar(36)  NULL, 
    company_name varchar(50)  NULL, 
    contact_type varchar(50) NULL, 
    cell_number  varchar(15)  NULL 
)