-1

我希望在$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);
4

4 回答 4

3

这里的问题是你在.=字符之间有一个空格。如果要连接字符串,只需省略该空格 -

$colours .= $value . ",";

另请注意,我在之后添加了一个附加.字符,$value因为您也想添加它,


最后一点是关于mysql_*函数的使用。请不要在新代码中使用 mysql_* 函数。它们不再被维护并被正式弃用。看到红框了吗?改为了解准备好的语句,并使用PDOMySQLi

在您迁移到这些较新的方法之前,您还需要注意在将数据插入 SQL 语句之前对其进行清理。就您的代码目前而言,它极易受到 SQL 注入的攻击。

于 2013-02-22T08:02:15.060 回答
1

改变这个

    $colours. = $value  ",";

$colours .= $value .",";
于 2013-02-22T08:00:58.263 回答
0

改变这个

$colours. = $value  ",";

$colours .= $value .",";
于 2013-02-22T08:01:05.767 回答
0

.和你=的第 13 行之间有一个空格。

于 2013-02-22T08:01:24.247 回答