我正在尝试更新数据库中的一行。
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循环,但我不太确定。
答案 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'");