我正在尝试更新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