我试图理解MySQli,但在错误报告方面感到困惑。我正在使用MySQLi的“prepare”语句的返回值,在执行SQL时检测错误,例如:
$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语句的返回值是否能捕获与查询执行完整过程相关的所有错误?
谢谢 C