PHP MySql数据库阵列更新

时间:2014-03-03 12:00:51

标签: php mysql arrays database

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

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循环,但我不太确定。

3 个答案:

答案 0 :(得分:3)

只需使用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' " 
            );
}

答案 1 :(得分:0)

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) ""

?>

答案 2 :(得分:-1)

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

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