Insert intone produisant aucun résultat
totoyo47
Messages postés
291
Statut
Membre
-
totoyo47 Messages postés 291 Statut Membre -
totoyo47 Messages postés 291 Statut Membre -
Bonjour,
Après moultes recherches, je me tourne vers vous dans l'espoir de trouver une réponse.
Ma table cb_tags_billets contient trois champs : id, id_tag, id_billet.
Tous les trois sont des int(10) unsigned.
L'insertion ci-dessous ne produit aucun résultat : aucune ligne n'est ajoutée à la table et aucune erreur n'est renvoyée.
J'ai essayé en mettant des valeurs manuellement comme :
Et la ligne est bien ajouté à la table.
Notez que les valeurs de $key et $idBillet sont bien des entiers (testés avec var_dump).
La connexion à la base de données fonctionne car les autres requêtes fonctionnent correctement.
D'avance, merci de votre aide.
Après moultes recherches, je me tourne vers vous dans l'espoir de trouver une réponse.
Ma table cb_tags_billets contient trois champs : id, id_tag, id_billet.
Tous les trois sont des int(10) unsigned.
L'insertion ci-dessous ne produit aucun résultat : aucune ligne n'est ajoutée à la table et aucune erreur n'est renvoyée.
$req = $bdd->prepare("INSERT INTO cb_tags_billets (id_tag,id_billet) VALUES (:idTag,:idBillet)");
$req->execute(array(
':idTag' => $key,
':idBillet' => $idBillet,
)) or erreurSQL('erreur d\'ajout d\'un tag existant à un billet.');
J'ai essayé en mettant des valeurs manuellement comme :
$req = $bdd->prepare("INSERT INTO cb_tags_billets (id_tag,id_billet) VALUES (3,4)");
Et la ligne est bien ajouté à la table.
Notez que les valeurs de $key et $idBillet sont bien des entiers (testés avec var_dump).
La connexion à la base de données fonctionne car les autres requêtes fonctionnent correctement.
D'avance, merci de votre aide.
1 réponse
-
'lut, c'est étrange, je ne vois pas ce qui cloche dans ton code...
Essaie de mettre unprint_r($bdd->errorInfo());
pour voir si y'a pas une erreur/avertissement qui passerait au travers du filet...-
-
Aucune erreur... Essaies voir avec des paramètres non nommés:
$req = $bdd->prepare("INSERT INTO cb_tags_billets (id_tag,id_billet) VALUES (?,?)"); $req->execute(array($key,$idBillet));Au passage, bien queexecute
renvoie false s'il y a eu une erreur, on gère les pépins avec PDO via les exceptions ;) -
-
-
Là, ça marche.
Au moins, ça confirme que la connexion à la base de données est bonne.
Sinon, juste avant la requête, j'ai mis :var_dump($key); var_dump($idBillet);
et ça me renvoie respectivement :Int 3
Int 2
Donc, je suppose mes variables sont correctement initialisées.
Moi aussi, j'avoue que ce problème me dépasse :/
-