Code de l'Allumeur de capture des erreurs sur l'insertion de données (Enregistrement Actif)
Je suis d'insertion de données dans ma base de données en utilisant le code suivant:
$this->db->set('event_id', $event_id);
...
$this->db->set('creator_id', $creator_id);
$this->db->insert('event');
Comment puis-je faire en sorte que le processus a été un succès et montrer à l'utilisateur un message de confirmation, sinon un message d'erreur?
qu'est-ce que la sortie de
var_dump($this->db->insert('event'));
?
OriginalL'auteur lodhb | 2011-11-20
Vous devez vous connecter pour publier un commentaire.
Euh, SI la méthode retourne true en cas de succès, de sorte que vous pouvez aller avec un simple
Sinon, vous pouvez toujours compter du le nombre de lignes affectées:
Mise à JOUR après le commentaire:
Je crois que vos trois insert_batch() sont sur trois tables différentes, de sorte qu'un contrôle doit être vers le bas sur chacun d'eux. De toute façon, ce qui est déroutant moi, c'est la raison behin cette case..Requête ne s'agit pas au hasard: la possibilité qu'ils devraient jamais échouer et quand ils le font, vous saurez par des erreurs (connecté ou dislayed).
if($this->db->insert('event') && $this->db->insert_batch($arr1) && $this->db->insert_batch($arr2)){...}
J'ai mis à jour ma réponse
Travaillé, merci!
Une bien meilleure technique, si vous utilisez plusieurs différents inserts de différentes tables serait d'utiliser une transaction. Ceux-ci peuvent être annulées si un ou plusieurs des requêtes de base de données échoue. Pour plus de détails, voir ellislab.com/codeigniter/user-guide/database/transactions.html Cela va prendre tout l'effort de "un contrôle doit être effectué sur chacun", et le résultat sera une bien meilleure solution. Peut-être les transactions qui n'étaient pas disponibles CI lorsque cette question a été posée.
OriginalL'auteur Damien Pirsy
"Si vous avez besoin de la dernière erreur qui s'est produite, le message d'erreur() la méthode retourne un tableau contenant son code et le message."
https://www.codeigniter.com/userguide3/database/queries.html
OriginalL'auteur TV-C-15