2013-01-05 86 views
-2

這與名稱創建一個新表,因爲用戶ID以下是什麼錯誤?

$tablename=$_SESSION['lgn-id']; 

mysql_query("CREATE TABLE $tablename(
qtno INT NOT NULL AUTO_INCREMENT, 
PRIMARY KEY(qtno), 
qt VARCHAR())") 
or die(mysql_error()); 

echo " so I created one!"; 

它顯示了以下錯誤的表名是[email protected]

你在你的SQL語法錯誤;檢查對應於你的MySQL服務器版本的 '@ gmail.com(qtno INT NOT NULL AUTO_INCREMENT,PRIMARY KEY(qtno),QT V' 位於第1行

+3

你的表名是'@gmail.com '? – sachleen

+0

no [email protected] @sachleen –

+2

不能在沒有反引號的情況下在表名中使用'@'。 –

回答

0

你創造的說法應該是

CREATE TABLE `$tablename`(
qtno INT(10) NOT NULL AUTO_INCREMENT, 
qt VARCHAR(100), 
PRIMARY KEY(qtno)) 

併爲每個用戶創建單獨的表壞主意,讓說你有1000+的用戶,你想創建1000+表?創建表後像UserId, Post並存儲用戶ID與用戶表,並張貼

您可以創建帖子表像

CREATE TABLE UserPosts 
(
    id INT(10) NOT NULL AUTO_INCREMENT, 
    UserId Varchar(100), 
    UserPost varchar(1024), 
    InserDate DateTime, 
    PRIMARY KEY(id) 
) 

然後,你可以做

select UserId, UserPost FROM UserPosts Where UserId = '[email protected]' 
+0

先生使用'text36.txt @ gmail.com'沒有wrked –

+0

所以先生,我如何管理反芻不同用戶的帖子,因爲它WUD有不同的沒有。每個用戶的職位?以及我如何管理行,然後呢?..讓我們說,Facebook如何做到這一點?..對不起,如果我聽起來像一個白癡,但我沒有exprnc @rs。 –

+0

@Mr_J檢查我的更新答案 –

4

問題在於未加引號的表名以及VARCHAR()。它必須有一個長度,例如VARCHAR(100)