$stmt->execute() : Comment savoir si la db insert a été couronnée de succès?

Avec le morceau de code suivant, comment puis-je savoir que tout ce qui a été inséré dans la db?

if ($stmt = $connection->prepare("insert into table (blah) values (?)")) {
$stmt->bind_param("s", $blah);  
$stmt->execute();           
$stmt->close();                                 
}

J'avais pensé à l'ajout de la ligne suivante aurait travaillé mais apparemment pas.

if($stmt->affected_rows==-1){$updateAdded="N"; echo "failed";}  

Et ensuite utiliser le $updatedAdded="N" pour sauter les autres morceaux de code en bas de la page qui dépendent de l'insérer au-dessus de la réussite.

Des idées?

  • Ne serait pas affected_rows être 0 si rien n'avait été inséré? Bien que si rien n'avait été insérée, elle ne serait vraisemblablement parce que execute avait échoué. Avez-vous essayé if ($stmt->affected_rows < 1)?
InformationsquelleAutor cosmicsafari | 2012-04-03