2013-11-23 58 views
0

我想插入到mySql表中,表名是sql select查詢的結果,第一個查詢返回正確的結果,但第二個查詢是where錯誤似乎是謊言,任何幫助將非常非常感謝PHP - 插入表與前面的select語句結果的名稱

$query = mysql_query("SELECT council from users where username = '$username'"); 

$x = mysql_result($query,0, "council"); 
$councilArea = (string)$x; 


// mysql inserting a new row 
    $result = mysql_query("INSERT INTO '$councilArea' ('barcode', 'productname', 'bin', 'info', 'addedby') VALUES('$barcode', '$productname', '$bin', '$info', '$username')"); 
+0

什麼是錯誤? – NoLiver92

+1

單引號''councilArea''和所有列名稱如'barcode''的錯誤結果請參閱http://stackoverflow.com/questions/11321491/when-to-use-single-quotes-double -quotes-和反引號。不應該引用表和列名(除非它們是保留字,需要反引號) –

+1

但是這也指出了數據庫設計中的一個更大的問題。而不是存儲保存相關信息的表的_name_,而應該將列存儲在作爲外鍵的單個表中。換句話說,您的設計意味着您應該有一個帶有區分列的表,並且您可以執行連接查詢時有幾個類似的表。 –

回答

0

你得到的錯誤,因爲表名不能用單引號,而是反引號。

數據庫設計中還存在一個基本問題。 將數據保存在不同的表中,這些數據確實應該存儲在一個表中。 添加一個字段counsel區域在表中區分數據,而不是將其存儲在不同的表中。

+0

嗨,謝謝。該設計僅用於原型。謝謝回覆。 – user2154825