我試圖讓我的頭在MySQli周圍,我很困惑的錯誤報告。 我使用的庫MySQLi的返回值執行SQL時,「準備」語句來檢測錯誤,像這樣:MySQLi準備報表錯誤報告
$stmt_test = $mysqliDatabaseConnection->stmt_init();
if($stmt_test->prepare("INSERT INTO testtable VALUES (23,44,56)"))
{
$stmt_test->execute();
$stmt_test->close();
}
else echo("Statement failed: ". $stmt_test->error . "<br>");
但是,是的準備語句只檢測返回值如果在誤差SQL語句的準備工作並未檢測到執行錯誤?如果是這樣,我應該因此改變我的執行線來標記錯誤,以及這樣的:
if($stmt_test->execute()) $errorflag=true;
然後爲了安全起見,我應該也可以在下面的語句執行後:
if($stmt_test->errno) {$errorflag=true;}
。 ..或者我可以開始,並且MySQLi prepare語句的返回值捕獲與它定義的查詢的完整執行相關的所有錯誤。
感謝 Ç
),而不是查詢()擺在首位當查詢字符串中沒有可變部分時?或者這只是一個簡單的例子? – VolkerK 2010-03-31 14:20:08
是的,對不起。它被簡化以顯示我是如何難以理解從準備階段得到確切的錯誤報告的。 – Columbo 2010-03-31 14:25:48