2013-03-26 108 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 
)