MySQLi PHP: Vérifier si le SQL de la requête d'INSERTION a été pleinement réussie à l'aide de MySQLi
J'ai cette grande fonction qui reçoit beaucoup de différentes données et insérez-la dans plusieurs tables.. Pas toutes les données est toujours disponible, donc pas tous les SQL INSERT requêtes sont couronnées de succès. J'ai besoin de vérifier qui SQL de la requête d'INSERTION a été pleinement réussie et qui ne l'était pas pour le faire quelque chose avec ces données (comme l'insertion dans une table de journal ou similaire).
Juste pour vous donner un exemple de la façon dont je pense qu'il peut être fait:
$sql = 'INSERT INTO data_table (ID, column1, column2) VALUES(?, ?, ?)';
if ($stmt->prepare($sql)) {
$stmt->bind_param('iss', $varID, $var1, $var2);
if ($stmt->execute()) {
$success == TRUE; //or something like that
}
}
Je ne suis pas complètement sûr de ce qui est le mieux et si c'est toujours vraiment montrer si les données ont été insérées dans la table...
Toutes les suggestions??
OriginalL'auteur Jonathan | 2010-05-20
Vous devez vous connecter pour publier un commentaire.
Du Manuel PHP sur
mysqli_stmt::execute
:Vous le faites à droite... Quel est votre dilemme?
$success = TRUE;
puisque vous ne voulez pas tester pour l'égalité, mais que vous voulez affecter une valeur à $succès variable.Ooops! Droit, merci.
OriginalL'auteur Alix Axel
Je crois que vous pouvez utiliser
mysqli_stmt->affected_rows
pour renvoyer le nombre de lignes insérées (ou modifiés ou supprimés).OriginalL'auteur Salman A