解析错误:语法错误,第13行意外'='

时间:2013-02-22 07:59:50

标签: php mysql

我想将$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 个答案:

答案 0 :(得分:3)

此处的问题是.=个字符之间有空格。如果你想连接字符串,只要省去那个空格 -

$colours .= $value . ",";

另请注意,我在.之后添加了额外的$value字符,因为您还希望添加,


这里最后一点是关于mysql_*函数的使用。 Please, don't use mysql_* functions in new code.他们不再受到维护,而且是officially deprecated。看到红色的盒子?请改为了解prepared statements,并使用PDOMySQLi

在迁移到这些较新的方法之前,您还需要在将数据插入SQL语句之前对其进行清理。正如您的代码目前所处,它极易受到SQL注入的攻击。<​​/ p>

答案 1 :(得分:1)

更改此

    $colours. = $value  ",";

$colours .= $value .",";

答案 2 :(得分:0)

更改此

$colours. = $value  ",";

$colours .= $value .",";

答案 3 :(得分:0)

第13行的.=之间有空格。