2014-04-11 78 views
0

我想用PHP更新SQL表。 我有一個表單提交給數據庫 - 這工作正常。 我已經從數據庫中檢索條目,這也工作正常。php sql更新問題

我遇到的問題是當我試圖用comment字段(已包含信息的「單元」)的附加信息更新數據庫時。

這是我的SQL代碼。你能指出我的問題在哪裏嗎? 有錯誤,我得到的是:

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= 36tWHERE id = 0' at line 1

我的代碼如下:

$commy = $_POST['comment']; 
$ident = $_POST['id']; 

$sql = "UPDATE issuelog". 
     "SET comment = $commy". 
     "WHERE id = $ident"; 

我知道這裏有安全問題,但是這只是針對目前本地主機使用,只有通過我的以自我爲例。

+0

你需要圍繞你分配給'comment'的字符串引號,並且你需要在你構建查詢的所有串聯字符串結尾處留下空格。 – Sammitch

回答

1

你不需要連接,你應該把值引起來。

$sql = "UPDATE issuelog 
     SET comment = '$commy' 
     WHERE id = '$ident';"; 

更新:正如其他人指出你需要空格,但這是你不需要連接的原因。通過關閉每一行並連接,您將刪除它們之間的空格。確保你使用準備好的陳述,因爲如你所說,這是受注射。

0
$sql = "UPDATE issuelog". 
    " SET comment = $commy". 
    " WHERE id = $ident"; 

你需要空間 - 嘗試呼應你的$sql - 你會看到SET和WHERE與以前的話被合併。