2011-10-01 62 views
0

我試圖登錄和註冊頁面上的工作,我想提出一個新的數據庫,我可以做到這一點罰款是這樣的:我正在爲每個註冊的用戶創建一個數據庫表。我究竟做錯了什麼?

mysql_select_db("my_db", $con); 

$sql = "CREATE TABLE Persons 
(
    FirstName varchar(15), 
    LastName varchar(15), 
    Age int 
)"; 

// Execute query 
mysql_query($sql,$con); 

和我所試圖做的是取代「人」與一個字符串,它使一個表,但它是動態的。我需要一個字符串,因爲我正在爲註冊的每個用戶創建一個表,並且新表的名稱是通過md5sum加密發送的用戶名和密碼。我沒有成功嘗試這樣做,它不會做像其他一個新表的作用:

mysql_select_db("my_db", $con); 

$sql = "CREATE TABLE $data 
(
    FirstName varchar(15), 
    LastName varchar(15), 
    Age int 
)"; 

// Execute query 
mysql_query($sql,$con); 

請幫助我。我嘗試過將字符串連接在一起,但沒有運氣,所以我需要幫助。

+7

您確定您不只是想爲每個註冊人員創建一行嗎? –

+1

最好使用突出顯示您的代碼並點擊頂部的「{}」按鈕進行格式化。 –

+6

我堅決反對這種設計。所有用戶都應該與行相同,而不是單獨的表。 –

回答

12

我想爲註冊的每個用戶創建一個數據庫表。 我在做什麼錯?

您正在爲註冊的每個用戶創建數據庫表。

這不是你應該使用關係數據庫的方式。您爲每個新用戶創建一個,而不是表。當然,您需要在Persons表中添加一些額外的列,如Password。我也建議不要存儲年齡,因爲這不是恆定的。改爲存儲Birthday

INSERT INTO Persons (FirstName, LastName, Birthday, Password) 
VALUES ('John', 'Smith', '1980-07-21', 'SOME HASH HERE'); 

我希望你不要誤會,但是在嘗試編寫更多代碼之前,你需要慢一點,學習更多關於SQL的知識。相信我,從長遠來看它會更好。

+0

謝謝你,你是對的。我跳進這種方式來齋戒。我想我在13歲的時候問過這個問題,之後我學到了很多東西,所以謝謝。 –

0

我回頭看了一些我過去問過的問題,看看過去幾年我學到了多少東西。

相關問題