MySQLi preparó informes de errores de declaraciones [duplicado]
Esta pregunta ya tiene una respuesta aquí:
Cómo obtener información de error de MySQLi en diferentes entornos 2 respuestasEstoy tratando de entender MySQli y estoy confundido por el informe de errores. Estoy usando el valor de retorno de la declaración 'preparar' de MySQLi para detectar errores al ejecutar SQL, así:
$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>");
Pero, ¿el valor de retorno de la instrucción de preparación solo detecta si hay un error en la preparación de la instrucción SQL y no detecta errores de ejecución? Si es así, debería cambiar mi línea de ejecución para marcar errores así:
if($stmt_test->execute()) $errorflag=true;
Y luego, solo para estar seguro, también debería hacer lo siguiente después de que se haya ejecutado la declaración:
if($stmt_test->errno) {$errorflag=true;}
... ¿O estaba bien para empezar y el valor de retorno en la instrucción MySQLi prepare 'captura todos los errores asociados con la ejecución completa de la consulta que define?
Gracias c