我正在更新我的PHP代碼從MySQL到mysqli,但我似乎無法找到這個問題的答案:做mysqli更新查詢返回結果?如果mysqli更新查詢返回結果?
與MySQL,我可以做
$result = mysql_query("UPDATE `data` SET `field1` = 1 WHERE `key` = '$mykey');
和$結果將是真實的,即使查詢不返回任何行。
但現在,在mysqli的代碼,我有這樣的事情(錯誤處理爲清楚起見移除):
$stmt = $mysqli->prepare("UPDATE `data` SET `field1` = 1 WHERE `key` = (?)")
$stmt->bind_param("s", $mykey);
$stmt->execute();
$result = $stmt->get_result();
和$結果是假的。
對於記錄來說,查詢是有效的(忽略任何可能使拼寫轉換爲堆棧溢出的拼寫錯誤),並且field1在數據庫中按預期正確更新。此外,get_result()對於選擇查詢工作正常,所以它不是get_result()不可用的問題。
基本上,我只是想知道,如果這種變化的行爲是預期的,或者如果我應該繼續嘗試找到某個地方的錯誤。
好的...評論似乎已經消失,告訴我檢查文檔,確實聲明get_result「返回結果集或失敗時返回FALSE」。 但是,在提出我的問題之前,我已經閱讀過了,如果文檔是準確的,我想我只是好奇。 $ stmt-> get_result()返回false後,我檢查了$ stmt-> errno(這是0)和$ stmt-> error(這是空白),並且查詢似乎成功執行(因爲數據庫已更新)。那麼這個錯誤發生在哪裏? – Swiftheart 2013-02-16 07:42:49