使用PHP共享的參數,我下面的查詢:獲取在連接查詢
"SELECT *
FROM `items`
JOIN `categories`
ON `items`.`category`=`categories`.`cat3`
WHERE `items`.`user_id` = '".$UID."'"
我試圖訪問items
。來自關聯數組的id
字段。問題是,$res['id']
似乎給了我categories
表的ID。
如何更改代碼以獲取items
表中的ID?
**通過構建帶有外部變量的SQL語句,您將使自己對SQL注入攻擊敞開大門。**此外,任何帶有單引號的輸入數據(如名爲「O'Malley」)將炸燬你的SQL查詢。請了解使用參數化查詢(最好是使用PDO模塊)來保護您的Web應用程序。 http://bobby-tables.com/php有例子讓你開始,並且[這個問題](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in- php)有很多例子的細節。 –
對於未來的代碼:你不需要引用/反引用你的專欄和表名。它們只會增加視覺混亂,並且只是讓語法錯誤發生的另一種方式。你需要他們的唯一原因是,如果你的名字是一個保留字,或者你在其中嵌入了空格或標點符號,並且這些是可怕的做法以避免。 –
@AndyLester謝謝,但我採取了'$ UID'的預防措施,以確保查詢是安全的。我更喜歡反引號,因爲我通常寫非常線性的查詢。 –