我想将$colours
作为红色,黄色,蓝色,绿色和开头的N / A列表放入数据库中,稍后这些列表将被用于下拉框中的用户选择一个
include'dbc.php';
$colours = "N/A";
if (isset($_POST['cb']) && is_array($_POST['cb'])) {
foreach ($_POST['cb'] as $value) {
$colours. = $value ",";
}
};
$sql="INSERT INTO items (category,title,description,qdescription,price,colours)
VALUES ('$_POST[category]','$_POST[title]','$_POST[description]','$_POST[qdescription]','$_POST[price]','$colours')";
if (!mysql_query($sql)){
die('Error: ' . mysql_error());
}
mysql_close($db);
答案 0 :(得分:3)
此处的问题是.
和=
个字符之间有空格。如果你想连接字符串,只要省去那个空格 -
$colours .= $value . ",";
另请注意,我在.
之后添加了额外的$value
字符,因为您还希望添加,
。
这里最后一点是关于mysql_*
函数的使用。 Please, don't use mysql_* functions in new code.他们不再受到维护,而且是officially deprecated。看到红色的盒子?请改为了解prepared statements,并使用PDO或MySQLi。
在迁移到这些较新的方法之前,您还需要在将数据插入SQL语句之前对其进行清理。正如您的代码目前所处,它极易受到SQL注入的攻击。</ p>
答案 1 :(得分:1)
更改此
$colours. = $value ",";
到
$colours .= $value .",";
答案 2 :(得分:0)
更改此
$colours. = $value ",";
到
$colours .= $value .",";
答案 3 :(得分:0)
第13行的.
和=
之间有空格。