Sto cercando di capire MySQli e sono confuso dalla segnalazione degli errori. Sto usando il valore di ritorno del MySQLi 'preparare' dichiarazione di rilevare gli errori durante l'esecuzione di SQL, in questo modo:MySQLi ha preparato la segnalazione degli errori
$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>");
Ma, è il valore di ritorno della dichiarazione solo preparare rilevare se v'è un errore nella preperazione dell'istruzione SQL e non rilevamento errori di esecuzione? Se è così dovrei pertanto cambiare la mia linea di eseguire per errori di bandiera così come questo:
if($stmt_test->execute()) $errorflag=true;
E poi giusto per essere sicuri dovrei anche fare il seguente testo dopo la dichiarazione ha eseguito:
if($stmt_test->errno) {$errorflag=true;}
. .. O ero OK per iniziare e il valore di ritorno sull'istruzione di preparare MySQLi cattura tutti gli errori associati all'esecuzione completa della query che definisce?
Grazie C
Perché usate preparazione/esecuzione() al posto di query() in primo luogo quando non c'è una parte variabile nella stringa di query? O è solo un esempio semplicistico? – VolkerK
Sì, mi dispiace. È stato semplificato per mostrare come stavo avendo difficoltà a capire dove ottenere una segnalazione definitiva degli errori da una situazione preparata. – Columbo