2015-10-06 77 views
-1

問題INSERT/UPDATE即使使用正確的語法也無法正常工作?

我已經寫了和運行以前一直工作在PHP腳本,今天我認識到,雖然它似乎是正常,在過去的幾天裏沒有數據被插入或更新(基本上任何寫入查詢)。這不會觸發任何錯誤,並且當完全相同的查詢複製並粘貼到mysql終端時,它會正確插入。

CODE

$sql = "REPLACE INTO `history` (`owner`, `user`, `status`, `now_date`) 
VALUES ('{$owner['username']}', '{$user}', '1', NOW())"; 

if (!mysqli_query($db, $sql)) { die('Error: ' . mysqli_error($db)); } 

echo "Affected rows: " . mysqli_affected_rows($db); 

響應

Affected rows: 1 

所以它似乎是工作,不會觸發任何錯誤,並且在相同的查詢被輸入到mysql終端,它的工作原理,它只是通過PHP,它不。用戶連接權限沒有問題。

這個問題剛剛發生在上週,在此之前它完美地工作。我很困惑。

感謝, 約翰。

+0

刪除'{}',並嘗試 –

+4

@MayankVadiya沒有不刪除'{}'或它肯定不會工作 – RiggsFolly

+0

打印出的聲明,看看你得到的結果expacted – Jens

回答

0

你說一個名爲id的列是該表的UNIQUE鍵。

您在該查詢中沒有使用id,那麼如何在不存在id字段的情況下執行INSERT或UPDATE(DELETE-INSERT)知道該如何做出該決定。

更換作品酷似INSERT,不同之處在於,如果一個老行的表具有相同的值作爲一個主鍵的新行或唯一索引,舊行被刪除之前,新行插入。

See the manual

+0

'REPLACE'與舊版腳本一起使用,我已經把它改爲'INSERT',但它仍然不起作用,我不認爲這個問題是基於查詢的,因爲'INSERT'查詢在PhpMyAdmin中正常工作。我的直覺告訴我這是一個服務器配置問題某處,雖然沒有錯誤正在產生任何哪裏。 –

+1

對不起約翰。一旦評論和回答,你就不能改變你的問題。這將使大多數問題/答案會議不存在。請問另一個問題,如果你已經改變了基本的前提 – RiggsFolly

+0

好吧,我會再次問它改變REPLACE更新... –

相關問題