2016-04-25 173 views
-3

每次我嘗試在我的SQL數據庫中創建表的時間我不斷收到此錯誤:MySQL的1064錯誤語法錯誤

錯誤查詢(1064):語法錯誤附近的「CREATE TABLE IF NOT EXISTS usersid INT (10)NOT NULL AUTO_INCREMENT,`」第2行

我能得到一些幫助,這

use luke_f_db 
CREATE TABLE IF NOT EXISTS `users` (
`id` int(10) NOT NULL AUTO_INCREMENT, 
`username` varchar(50) NOT NULL, 
`email` varchar(50) NOT NULL, 
`password` varchar(50) NOT NULL, 
`trn_date` datetime NOT NULL, 
PRIMARY KEY (`id`) 
); 
+0

'use luke_f_db'? 'mysqli_select_db()'還是足夠的? –

+3

在'USE'之後拋出一個分號(或者確實,在查詢之外執行,最好在連接語句中)。 – Quassnoi

+0

對於某些電子郵件地址,50個字符是不夠的。除非你有一個非常有說服力的理由,否則對大多數領域使用'VARCHAR(255)',存儲成本通常爲零。 – tadman

回答

1

有你use命令是錯誤的添加;?第一線後面或只是檢查數據庫存在和你的帳戶可以訪問它。

CREATE代碼適合我。

1

每個查詢**只能運行一個命令。 mySQL命令行客戶端允許您使用分割多個命令;但仍依次運行它們。

刪除use luke_f_db一行。要在連接命令中選擇要使用的數據庫。請參閱http://www.w3schools.com/php/func_mysqli_connect.asp

$con = mysqli_connect("localhost","my_user","my_password","my_db"); 

數據庫名稱是mysqli_connect的最後一個參數。

將相同的信息PHP官方文檔中找到:http://php.net/manual/en/mysqli.construct.php

**一些MySQL客戶端實現還允許多個命令在一個電話,但你應該避免它。在腳本中使用此功能不可移植到其他數據庫,並且如果發生錯誤,您將無法知道哪些命令觸發了錯誤。

+0

請儘可能鏈接到PHP的官方文檔。 – tadman

+0

在這種情況下,它不是那麼明顯:http://php.net/manual/en/function.mysqli-connect.php和http://php.net/manual/en/mysqli.construct.php – Sebastian

+0

這就是德語版本據我所知。 – tadman