我正在嘗試更新mySql數據庫中的一行。不過,我只想要更新的特定參數,這些參數不爲空:在MySQLI中更新參數
db->prepare("UPDATE table SET userFirstName = $userFirstName, userLastName = $userLastName WHERE xx = $xx");
這就是我現在做的,但它可能是USERFIRSTNAME並不需要更新,或USERLASTNAME,......因爲我有可能值我需要一種方法來這樣說:
如果USERLASTNAME不是「空」,那麼更新甚至是......
**使用外部變量構建SQL語句會使您的代碼容易受到SQL注入攻擊**另外,任何帶有單引號的輸入數據(如「O'Malley」)都會炸掉您的查詢。瞭解參數化查詢,最好使用PDO模塊來保護您的Web應用程序。 [這個問題](http://stackoverflow.com/questions/60174)有很多詳細的例子。另見http://bobby-tables.com/php查找危險的替代品和解釋。運行使用外部數據構建的SQL代碼就像在家門口發現用成分製成的湯一樣。 – 2015-02-11 20:03:59