【问题标题】:PHP MySql Database Array updatePHP MySql 数据库数组更新
【发布时间】:2014-04-04 11:16:31
【问题描述】:

我正在尝试像这样更新我的数据库中的一行。

if (isset($_POST['submit'])) {
$sizes = array($_POST['size_king'], 
               $_POST['size_queen'],
               $_POST['size_double']
              );

mysqli_query($con, "UPDATE beds 
                SET `Available Sizes` = '$sizes' 
                WHERE ID = '$prod_id' " 
            );
}

谁能帮帮我?

我希望这个数据只更新一行,数据必须用逗号分隔。

我在想也许是一个 FOR 循环,但我不太确定。

【问题讨论】:

    标签: php mysql arrays database


    【解决方案1】:

    只需使用implode() 函数。

    if (isset($_POST['submit'])) {
    $sizes = array($_POST['size_king'], 
                   $_POST['size_queen'],
                   $_POST['size_double']
                  );
    $sizes=implode(",",$sizes);
    mysqli_query($con, "UPDATE beds 
                    SET `Available Sizes` = '$sizes' 
                    WHERE ID = '$prod_id' " 
                );
    }
    

    【讨论】:

    • Implode 是一个很好的解决方案,只要他/她想在数据库中添加 CSV 值。
    • @RajivPingale 我们编码的内容取决于需求。
    • 如此简单。惊人的!谢谢。
    【解决方案2】:

    PHP implode 函数将满足您的目的。

    implode 将数组元素连接成一个由我们指定的胶水分隔的字符串。语法是:

    string implode ( string $glue , array $pieces )
    

    参考:http://in3.php.net/manual/en/function.implode.php

    例子:

    <?php
    
    $array = array('lastname', 'email', 'phone');
    $comma_separated = implode(",", $array);
    
    echo $comma_separated; // lastname,email,phone
    
    // Empty string when using an empty array:
    var_dump(implode('hello', array())); // string(0) ""
    
    ?>
    

    【讨论】:

      【解决方案3】:

      当您创建数据库时有一个问题,永远不要将您的表命名为“Available Beds”,我的意思是不要使用空间尝试在此更改之后使用“AvailabaleSizes”或“Available_Sizes”或“availableSizes”,如下所示编写您的查询。

      ($con, "UPDATE `beds`   SET Available_Sizes = '$sizes' WHERE ID = '$prod_id'");
      

      【讨论】:

      • Implode 解决了我的问题。谢谢
      猜你喜欢
      • 1970-01-01
      • 2012-03-22
      • 1970-01-01
      • 2018-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-04
      • 1970-01-01
      相关资源
      最近更新 更多