2013-08-05 76 views
0

我對PHP這個查詢:PHP MySQL的UPDATE和減去

mysql_query("UPDATE ead_modulos SET slides = slides - 1 WHERE id_modulo = '$id_modulo';"); 

每次我運行它,它減去2從幻燈片,所以如果我有2張幻燈片,我曾經運行此代碼,它以0結束幻燈片。

我添加了一個輸出到這個查詢來檢查它是否被執行了2次,它不是,代碼運行一次並減去2,任何人都可以幫忙嗎?

編輯:我有這個其他查詢工作就好了,當添加幻燈片。

mysql_query("UPDATE ead_modulos SET slides = slides + 1 WHERE id_modulo = '$id_modulo'"); 

EDIT2:我已經試過只用DB連接的空白頁上查詢,它的工作就好了,所以問題是,代碼運行2次,我絕對不知道爲什麼它是,當我添加一張幻燈片時,它工作正常,當我刪除一張幻燈片它就像加載兩次並執行代碼兩次。

+2

這個密碼只能從任何給定行減1(最多)。如果它減去2,那麼它會被調用兩次,或者在執行第二次減法的表上有觸發器,或者您誤解了最終值。 –

回答

0

我同意你的代碼必須運行兩次。仔細檢查它,並在此代碼下面設置回顯以發出消息,並查看它是否出現兩次。

+0

我在這個查詢後面添加了回顯,它只回響一次:( – eduardofeio

0

是的,你的代碼可能會運行兩次。要測試,請將您的查詢更改爲+,並查看它是否會在您運行代碼時添加兩個。

的mysql_query( 「UPDATE ead_modulos組幻燈片=幻燈片 - 1 WHERE id_modulo = '$ id_modulo';」);

的mysql_query( 「UPDATE ead_modulos組幻燈片=幻燈片+ 1 WHERE id_modulo = '$ id_modulo';」);

只是用於測試..

也試試這個:

mysql_query("UPDATE ead_modulos SET slides = slides - 1 WHERE id_modulo = '$id_modulo';"); 
exit(); 
+0

是的,如果使用加號加2,我還添加了回顯以查看它是否顯示了兩次,但不是,只顯示回顯文本顯示一次... – eduardofeio

+0

你可以編輯你的文章,讓我們看看你是如何運行查詢與PHP代碼? –

+0

我已經嘗試了一些不同的東西,我得到了這個查詢,並將其粘貼在index.php上,右上方,所以它會運行在每一個頁面打開測試目的...問題依然存在,如果我加載任何頁面,它減去2,如果我評論這一行,什麼也沒有發生! – eduardofeio