【问题标题】:Error in SQL UPDATE querySQL UPDATE 查询中的错误
【发布时间】:2009-07-16 14:01:02
【问题描述】:
$result = mysql_query("UPDATE categories
        SET cd_title='$docuTitle' , cd_link='$linkTitle'
        WHERE c_name='$catID'");

这个更新查询有什么问题?

【问题讨论】:

  • 查询看起来不错。请更具体。
  • 给出的错误是什么? mysql_error() 应该输出它。
  • 您的变量是否正确转义?

标签: php sql mysql


【解决方案1】:

您的变量中的数据可能有问题 - 但我们看不到它们包含的内容。

您应该使用参数化查询,这将处理数据中可能会弄乱语句的任何奇怪字符。

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

【讨论】:

    【解决方案2】:

    如果输入包含撇号,我会将查询更改为这样,以避免错误:

    $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) . "'");
    

    【讨论】:

      【解决方案3】:

      如果您的数据已清理,请删除 php 变量周围的单引号。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-23
        • 2015-09-01
        • 2012-02-21
        相关资源
        最近更新 更多