2009-12-11 52 views
0
mysql_query("insert into mytable (flow,holderid,amount,operator,ip,product,taskid,comment)values('-1','$memberid','$sum+5','$memberid','$ip','Expertise','$taskid','Publish a problem or task') ")or die(mysql_error()); 

我得到如何在SQL語句中編寫和操作?

'$總和+ 5'

MySQL不會把它當作一個和操作,如何解決這個問題的錯誤?

+1

請注意:以這種方式傳遞和連接變量是一個壞主意,您應該考慮使用顯式數據類型和可接受的值範圍來參數化查詢。 – 2009-12-11 05:41:22

+0

借調。通常,我會在PDO中提到一些關於準備好的查詢的內容(http://us3.php.net/manual/en/pdo.prepared-statements.php),但是我想我在寫回答時很粗心。 – outis 2009-12-11 05:44:04

回答

1

如果您希望MySQL執行添加操作,請在添加時刪除單引號;他們讓MySQL將表達式解釋爲一個字符串(就像PHP一樣)。如果您希望PHP執行添加,請按照fucla寫入。

1

假設你正在使用PHP與MySQL,像串聯查詢:'".($sum+5)."'

而且,你會想要把大括號在你的變量保持在雙引號內的'{$variable}',否則只會把它讀作要插入的文本而不是變量。