2016-01-03 76 views
-2

對不起,問簡單問題,Mysql列中的錯誤更新數據

但我真的不知道最新的問題。

$id = $_POST['id']; //i get the value from form 
$query = "UPDATE jewelry SET stock = stock - $quantity WHERE jewelid = '".$id."'" 
mysql_query($query); 

,但如果我用這個代碼:

$query = "UPDATE jewelry SET stock = stock - $quantity" 

它工作正常,但每列subtracted..so我們必須使用where,但如果我用where像上面,它不」。 t工作..

哪裏是我的代碼中的錯誤?

+4

這些諮詢以下鏈接http://php.net/manual /en/function.mysql-error.php和http://php.net/manual/en/function.error-reporting.php 並將其應用於您的代碼。如果這是你的真實代碼,那就錯過了一個分號。 –

+5

您已經提出了很多問題,但尚未接受任何答案。這個網站是雙向的。如果你期望得到幫助,你應該通過接受他們的回答來獎勵那些幫助你的人。閱讀[接受答案如何工作?](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)並開始回饋社區。 –

+1

@ Fred-ii-非常抱歉,先生。我不知道之前,我們必須接受和回答,謝謝你的參考,我會盡快.. –

回答

0

試試這個:

$query = "UPDATE jewelry SET stock = 'stock - " . $quantity . "' WHERE jewelid = " . $id; 

如果jewelid是INT沒有必要添加= '" . $id . "'只是做= " . $id . "不是單引號需要

+3

這應該不重要。然而,重要的是,如果它們的列是一個int類型,並且試圖將一個整數傳遞給一個varchar例如。 MySQL將補償報價。 –

+0

@傑克史密斯它不工作 –

+0

@弗雷德 - ii-確定我的股票列有int類型.. –