2012-03-06 50 views
10

我一直staringly blanky這個錯誤似乎並不能知道的問題is.When我運行什麼查詢我得到這個錯誤:意外T_ENCAPSED_AND_WHITESPACE,期待T_STRING或T_VARIABLE或T_NUM_STRING錯誤

unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING at this line:

$sqlupdate1 = "UPDATE table SET commodity_quantity=$qty WHERE user=$rows['user'] "; 
+0

'$ sqlupdate1 = 「UPDATE SET表commodity_quantity = $數量WHERE用戶= $行[用戶]」;' – Gordon 2012-03-06 11:49:49

+0

參見[字符串中的變量解析章](http://php.net/manual /en/language.types.string.php#language.types.string.parsing)。我們希望您在將這些值插入查詢之前對其進行消毒處理,而不是使用預處理語句。 – Gordon 2012-03-06 11:52:14

回答

25

試試這個

echo $sqlupdate1 = "UPDATE table SET commodity_quantity=$qty WHERE user='".$rows['user']."' "; 
+0

謝謝,它的工作。但現在讓我們說我想更新多個行我該怎麼做,因爲這段代碼似乎不工作: echo $ sqlupdate1 =「UPDATE table SET commodity_quantity = $ qty AND name = $ name WHERE user ='」。$ rows ['用戶']。「'」; – che 2012-03-09 12:40:50

4

嘗試

$sqlupdate1 = "UPDATE table SET commodity_quantity=$qty WHERE user={$rows['user']} "; 

您需要爲雙引號的字符串數組訪問大括號。

+1

你不需要添加大括號。你可以簡單地省略單引號。 – Gordon 2012-03-06 11:47:16

+0

將支架移動到美元符號 – MMM 2012-03-06 11:49:03

1

將您的代碼更改爲。

<?php 
$sqlupdate1 = "UPDATE table SET commodity_quantity=".$qty."WHERE user=".$rows['user']; 
?> 

查詢中出現語法錯誤。

+0

謝謝,它的工作。但現在,讓我們說我想更新多行我該怎麼做,因爲這段代碼似乎不工作: echo $ sqlupdate1 =「 UPDATE表SET商品數量= $數量和名稱= $名稱WHERE用戶='「。$ rows ['user']。」'「; – che 2012-03-09 12:44:23

+0

對於這一點看到這一點。 http://stackoverflow.com/questions/3432/multiple-updates-in-mysql 和 http://www.tizag.com/sqlTutorial/sqlupdate.php – Milap 2012-03-09 12:57:41

7

使用{$符號前。還可以添加addslashes功能來轉義特殊字符。

$sqlupdate1 = "UPDATE table SET commodity_quantity=".$qty."WHERE user=".addslashes($rows['user'])."'"; 
相關問題