我有這樣的代碼:mysqli的致命錯誤在生產,但沒有發展
$mysqli = new mysqli('localhost','username','password','database');
$insert = "INSERT INTO submissions (client_name, client_company) VALUES ('$client_name', '$client_company')";
if ($mysqli->query($insert) === TRUE) {
echo "success";
} else {
echo "Error: " . $mysqli . "<br>" . $mysqli->error;
}
在我的開發環境中運行完美,插入變量到正確的表列。
然而,在生產我得到這個錯誤:
Catchable fatal error: Object of class mysqli could not be converted to string in 'path' on line x
我知道:
- 沒有與我的mysqli連接,我的應用程序的其它部分沒有錯誤使用憑據等罰款檢索數據從我的數據庫在這兩個開發/生活
- 該代碼運行良好,插入正確,不會在我的開發環境中的錯誤。
我已經尋找解決方案的錯誤消息,並嘗試了一些,但我仍然不相信,這是問題的真正原因。
Wierd的代碼在你的開發機器上工作...但你需要使用'$ mysqli-> error' –
我認爲這是因爲你的代碼中的'else',你試圖連接我的sqli對象添加到錯誤消息中。嘗試刪除該部分,看看它是否有效 – FMashiro
@RaymondNijland我發現我傳入INSERT語句中的一個PHP變量似乎是原因(實際語句有大約9個變量,而不僅僅是顯示的2個變量)。我無法辨別確切的原因,但是因爲在開發中仍然沒有問題... – JamieMcGrory