2016-01-26 67 views
0

任何人都可以请帮助我,这是什么错我在做什么。在php代码中没有语法错误,但输出是 - 连接成功 未创建表格客户。错误:1064 未创建表统计信息。错误:1005.我正在使用XAMPP,使用PHP 7mysqli奇怪的错误1064,当没有语法错误

 <?php 


     $conn = mysqli_connect("localhost","root","","test"); 

     if(mysqli_connect_errno()){ 
      echo "Connect failed%\n".mysqli_connect_errno(); 
      exit(); 
     } 

     else { 
     echo "connection successful"; 
     } 

     $sql1 = "CREATE TABLE CUSTOMERS (

     P_Id int(10) NOT NULL AUTO_INCREMENT, 
     Firstname(100) varchar NOT NULL, 
     Lastname(100) varchar NOT NULL, 
     Address varchar(500) NOT NULL, 
     City varchar(100) NOT NULL, 
     PRIMARY KEY(P_Id) 

    )"; 

     if(mysqli_query($conn,$sql1)==1){ 
      echo "Table customers created successfully"; 
     } 
     else 
     { 
      echo "<br/>"."Table customers NOT created. Error: ".mysqli_errno($conn); 
     } 

     $sql2 = 'CREATE TABLE STATS (

     O_Id int(10) NOT NULL AUTO_INCREMENT, 
     Offers varchar(1000) NOT NULL, 
     Resorts varchar(1000) NOT NULL, 
     ArrivalDate date NOT NULL, 
     P_Id int(10) NOT NULL, 
     PRIMARY KEY(O_Id), 
     FOREIGN KEY(P_Id) REFERENCES CUSTOMERS(P_Id) 

    )'; 



     if(mysqli_query($conn,$sql2)==1){ 
      echo "Table stats created successfully"; 
     } 
     else 
     { 
      echo "<br/>"."Table stats NOT created. Error : ".mysqli_errno($conn); 
     } 
     ?> 
+0

你问许多问题,但没有接受。该网站是双向的,你应该奖励那些如此优雅地帮助你的人。它还向每个人展示了解决方案的发现,而不是让他们陷入困境。 http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –

+0

卢娜请检查上面的评论,并开始标记答案吧。它也会帮助其他人。 –

+0

为什么即使问题解决后,人们也不会回答问题。我正在删除我的答案。 –

回答

1

错误是你如何声明你的varchar。

Firstname(100) varchar NOT NULL, 

必须是:

Firstname varchar(100) NOT NULL, 

所以改变名字和姓氏的语法和所有会工作的。 希望得到这个帮助。

+0

非常感谢你..ha ha..typing错误。也许我需要一个睡眠:) –

1

您需要在VARCHAR关键字后指定VARCHAR的字符限制。因此,例如,在查询表CUSTOMERS,将Firstname子句将看起来像:

Firstname VARCHAR(100) NOT NULL 
+0

非常感谢你..ha ha..typing错误。也许我需要一个睡眠:) –

0

我觉得你的问题是列声明:

你应该使用:<name> <type>(length) NOT NULL