SQL UPDATE查询中的错误

SQL UPDATE查询中的错误

问题描述:

$result = mysql_query("UPDATE categories 
     SET cd_title='$docuTitle' , cd_link='$linkTitle' 
     WHERE c_name='$catID'"); 

此更新查询有什么问题?SQL UPDATE查询中的错误

+0

查询看起来很好。请更具体一些。 – Gumbo 2009-07-16 14:02:48

我会查询改变这一点,以避免错误,如果输入包含撇号:

$result = mysql_query(
    "UPDATE categories SET 
     cd_title='" . mysql_real_escape_string($docuTitle) . "', 
     cd_link='" . mysql_real_escape_string($linkTitle) . "' 
    WHERE 
     c_name='" . mysql_real_escape_string($catID) . "'"); 

有可能出错的数据的变量—但我们不能看到它们包含的内容。

您应该使用参数化查询,它将处理数据中可能混淆语句的任何奇数字符。

How can I prevent SQL injection in PHP?When are the most recommended times to use mysql_real_escape_string()

如果您的数据消毒,来自各地的PHP变量删除单引号。