【问题标题】:MySQL Update only certain fields in a tableMySQL 仅更新表中的某些字段
【发布时间】:2011-11-29 07:14:33
【问题描述】:

我在网站上有一些保险信息,我只想编辑用户想要更改的某些字段,例如: 用户、ID、电话、地址、城市

并且用户想要更改他的城市和电话...我是否必须针对每个特定情况进行查询,或者是否有代码可以帮助我检索键(电话)和值(9397171602)??

然后在查询中发送它

【问题讨论】:

    标签: php mysql forms


    【解决方案1】:

    基本更新将采取以下形式:

    UPDATE table_name SET column_1 = value_1, column_2 = value_2 WHERE column_3 = value_3
    

    col1、col2 是您的城市和电话,col3 是用户 ID。查看 MySQL 网站http://dev.mysql.com/doc/refman/5.0/en/update.html 了解更多信息

    【讨论】:

    • 是的,但是在那个表中我实际上有 9 列...如果我对可能出现的每种情况只进行一次查询...例如 UPDATE table_name SET column_1 = value_1, column_2 = value_2 WHERE column_3 = value_3
    • @neurotikYeah,但在那个表中我实际上有 9 列...如果我对可能出现的每种情况只进行一次查询...例如 UPDATE table_name SET column_1 = value_1, column_2 = value_2 column_3 = value_3.........直到 9WHERE column_3 = value_3 – 如果表格中有未填写的空白,是否会影响表格?如,删除先前的信息?
    • @Skynight - 在客户端验证中使用 JavaScript/JQuery 并编写验证用户输入的 PHP 方法。
    • @Skynight - 抱歉,我不明白你的问题......“如果我对可能出现的每种情况只做一个查询”是什么意思?
    • @Skynight - 是的,它会影响表格,是的,它会删除任何先前的信息,只要满足 WHERE 语句之后的条件。在发布此声明之前,应进行任何额外的有效性检查。
    【解决方案2】:

    有多种方法可以安全地更新记录。考虑以下伪代码 + php 程序。

    class Example
    {
       function UpdateRecord($editedRecord)
        {
            //Fetch existing record from the database
            $originalRecord=DB::fetchExample($editedRecord->getId()) 
            //validate each edited field and it is valid then assign its value
            //to the originalRecord's field
    
            if(IsValid($editedRecord->getName())
              {
                $originalRecord->setName($editedRecord->getName());
              }
            .....
    
            //update the record.
            $originalRecord->Update(); 
        }
    }
    

    【讨论】:

      【解决方案3】:

      只需添加一些 sql 即可:

      $sql = "UPDATE example SET col_1 = val_1, col_9 = val_9 WHERE col_7 = val_7";
      mysql_query($sql);
      

      然后用你的东西替换列和值。欲了解更多信息:PHP MySql Update

      【讨论】:

        猜你喜欢
        • 2023-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多