【问题标题】:How to update multiple columns in mysql using php如何使用php更新mysql中的多个列
【发布时间】:2015-12-02 23:34:18
【问题描述】:

这里我正在尝试使用 php 更新更新 mysql 表中的多个列值。

$product_id = mysqli_real_escape_string($link, $_POST['product_id']);
$product_name = mysqli_real_escape_string($link, $_POST['product_name']);
$product_category = mysqli_real_escape_string($link, $_POST['product_category']);

$sql = "UPDATE product_list (product_name, product_category, product_price,product_description,product_size_category) VALUES ('$product_name', '$product_category', '$product_price', '$product_description', '$size_category')";
}"

我有 5 个列值要在表中更新,我正在使用变量来保存数据并使用该变量想要更新表中的值我该怎么做?

【问题讨论】:

  • 那么你遇到了什么问题?
  • 您的查询是插入查询。不更新查询。使用update table_name 设置column_name = '值'
  • @Mithun 请检查您的查询。我认为,您对 INSERT 和 UPDATE 查询感到困惑。参考UPDATE查询语法here

标签: php mysql sql-update


【解决方案1】:

试试这样:

$sql = "UPDATE product_list SET product_name='".$product_name."',product_category='".$product_category."',product_price='".$product_price."',product_description='".$product_description."',size_category='".$size_category."' WHERE product_id=".$product_id;

参考:https://dev.mysql.com/doc/refman/5.0/en/update.html

【讨论】:

    【解决方案2】:

    您正在混淆 INSERTUPDATE 查询之间的查询语法,UPDATE 语法是 ;

    UPDATE TABLE SET col1 = val1, col2=val2... WHERE col1 = val
    

    你应该使用UPDATE查询如下:

    $sql = "UPDATE product_list SET product_name = '$product_name', 
    product_category = '$product_category' WHERE product_id = $product_id";
    

    【讨论】:

      【解决方案3】:

      您的查询必须是这样的:

      "UPDATE product_list 
      set 
      product_name='$product_name', 
      product_category ='$product_category', 
      product_price='$product_price',
      product_description='$product_description',
      product_size_category='$size_category'
      where product_id='$product_id'
      "
      
      1. 确保您定义了您需要的变量,例如 $size_category 等,因为我没有看到它。
      2. 使用条件,例如更新特定记录的位置

      【讨论】:

        【解决方案4】:
         $sql = "UPDATE `product_list` SET 
               `product_name` = '$product_name', 
               `product_category` = '$product_category', 
               `product_price` = '$product_price', 
               `product_description` = '$product_description', 
               `product_size_category` = '$size_category' 
          where clause..... (if required) ";
        

        【讨论】:

          【解决方案5】:

          更新SQL查询,方法如下:

          Update database_tablename SET column_name1 = column_value1 , column_name2 = column_value2

          $sql = "UPDATE product_list SET product_name='".$product_name."',product_category='".$product_category."',product_price='".$product_price."',product_description='".$product_description."',size_category='".$size_category."'";
          

          【讨论】:

          • 请考虑编辑您的帖子,以添加更多关于您的代码的作用以及它为何能解决问题的说明。大部分只包含代码的答案(即使它正在工作)通常不会帮助 OP 理解他们的问题。