2012-04-05 61 views
0

請問mysqli::error包含mysqli_stmt::error?如果在準備語句或執行語句時發生錯誤,myqli :: error會包含錯誤還是隻包含在mysqli_stmt :: error中?mysqli :: error Vs. mysqli_stmt:錯誤

編輯︰只是爲了clarities的緣故我試圖瞭解,如果我需要特別檢查mysqli_stmt ::錯誤處理和報告失敗或如果mysqli ::錯誤可以在整個過程中使用而不會錯過任何錯誤。

編輯2:如果錯誤是單獨的應該用於mysqli :: stmt_init()失敗?

回答

1
$mysqli = new mysqli('localhost', 'root', 'yabadaba', 'testdb'); 
$stmt = $mysqli->prepare('MESSUP(?'); //no error thrown 
var_dump($mysqli->error); //... right syntax to use near 'MESSUP(?' 

雖然有一個Exception class - 我似乎無法找到任何方法實際上扔它。看起來像一切都在$mysqli->error

+0

你有什麼機會讓我看看你在哪裏看?我寧願看看它,然後再重寫一次類錯誤檢查 – 2012-04-06 16:39:24

+0

好,[here](http://ru2.php.net/manual/en/mysqli.error.php):**最近的MySQLi函數調用** - 這意味着'mysqli_ *';但是如果你真的想仔細檢查一下 - 運行你以類似失敗的方式使用的函數,並檢查'$ mysqli-> error' – 2012-04-06 16:54:48

+1

如果你想讓mysqli拋出異常,請設置[mysqli_report](http:// php。 net/function.mysqli-report.php)。 – toxalot 2012-12-15 19:35:57