2016-01-26 68 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