2013-02-22 131 views
-1

我希望$colours作爲列表紅色,黃色,藍色,綠色和N/A在開始時被放入數據庫,這些後來是呼籲爲一個下拉框,其中用戶選擇一個解析錯誤:語法錯誤,在第13行出現意外'='

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

回答

3

這裏的問題是,你有.=之間的空間字符。如果你想連接字符串,只是省去了空間 -

$colours .= $value . ","; 

還請注意,我因爲你想要做添加,以及$value後添加一個額外的.字符。


這裏最後一個注意事項是關於使用mysql_*函數。 Please, don't use mysql_* functions in new code.他們不再維護,並且是officially deprecated。看到紅色框?請改爲了解prepared statements,並使用PDOMySQLi

在您遷移到這些較新的方法之前,您還需要注意在將數據插入SQL語句之前對數據進行清理。正如你的代碼目前的情況,它非常容易受到SQL注入的影響。

+0

最清晰的答案。 – 2013-02-22 08:03:07

+0

非常感謝你:) – smilerjd 2013-02-22 08:09:08

+0

@smi - 很樂意幫忙!請看看我使用'mysql_ *'函數的注意事項...快樂編碼! – Lix 2013-02-22 08:12:14

1

變化這

$colours. = $value ","; 

$colours .= $value .","; 
+0

謝謝你這麼多:) – smilerjd 2013-02-22 08:04:31

+0

歡迎你! :) – 2013-02-22 08:05:16

0

改變這個

$colours. = $value ","; 

$colours .= $value .","; 
0

你有你的線和.=之間的空間13

相關問題