2015-09-06 206 views
-2

screenshot of the codePHP更新查詢成功,但數據庫沒有更新

我試圖更新我的數據庫和SQL查詢的記錄返回成功,但我的數據庫沒有改變。

+5

請將您的代碼添加爲** text **,而不是圖片。 –

+0

'$ full_name = $ _POST ['full_name']; .......'等等等堡壘 – aldrin27

+0

打印查詢並手動執行並確認它是否正確 –

回答

0

好像你正在使用PDO(希望)

當你使用這個數據對象,當查詢被執行將返回TRUE,但它並不關心它是否改變了什麼或沒有,當沒有關鍵的MYSQL錯誤時它將返回true。

你想要做的就是知道IF A ROW AS AFFECTED/CHANGED通過該查詢,在這種情況下,而不是使用;

$PDOObject->query($thequery) == true 

你應該使用:

$result = $PDOObject->query($thequery); 

if($result->rowCount() > 0) ... 

如何知道行與PDO受查詢更多信息

http://php.net/manual/en/pdostatement.rowcount.php

+0

這大部分是可靠的,不會存在 – Drew

0

SQL查詢返回成功,但我的數據庫沒有變化

您確定至少存在一條符合您的過濾標準WHERE full_name = '$full_name' AND representative_id = '$login_session'的記錄。如果沒有記錄更新意味着沒有任何記錄匹配WHERE條件,因此不會發生更新。

+0

或匹配發生但沒有數據改變 – Drew

+0

@Drew,只有在SET中爲列提供的值與當前現有值相同時纔有可能的情況。 – Rahul

+0

或者db驅動程序沒有實現的場景 – Drew

0
representative_id = '$login_session' 

是表中一個VARCHARINTrepresentative_id列?你正在向MySQL傳遞一個字符串。如果數據庫中的列存儲爲INT,請嘗試刪除圍繞$login_session的單引號。

當發佈與數據庫查詢相關的問題時,它還有助於還包含表格模式。

+0

感謝您提供這些信息,我的representative_id是int。 – user2848911