Requête Mysql qui ne fonctionne pas mais pas d'erreur renvoyée.

Xentor -  
 Xentor -
Bonjour,

Je fais appel à vos services car j'ai un soucis que j'ai du mal à comprendre.

Tout d'abord mon code :


if($flag_adresse=='add_adress'){
// Insertion de l'adresse si nouvelle adresse à l'aide d'une requête préparée
$req = $bdd->prepare('INSERT INTO infos_users (id_user, nom_adresse, prenom, nom, numero, rue, code_postal, ville, complements, mail) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)');
$req->execute(array(
$id_annonceur,
$intitule_adresse,
$prenom,
$nom,
$numero,
$rue,
$code_postal,
$ville,
$complements,
$mail
));

$req->closeCursor(); // Termine le traitement de la requête
}
else{
$req2 = $bdd->query('SELECT * FROM infos_users WHERE nom_adresse = "'.$flag_adresse.'"');
while($data2 = $req2->fetch())
{
$prenom = $data2['prenom'];
}
$req2->closeCursor(); // Termine le traitement de la requête
}

//récupération de l'id de l'adresse associé à l'annonce
$req3 = $bdd->query('SELECT * FROM infos_users WHERE nom_adresse = "'.$flag_adresse.'" AND id_user = "'.$id_annonceur.'"');
while($data3 = $req3->fetch())
{
$id_adresse = $data3['id'];
}
$req3->closeCursor(); // Termine le traitement de la requête



// Insertion de l'annonce à l'aide d'une requête préparée
$req4 = $bdd->prepare('INSERT INTO annonces (id_annonceur, type, categorie, description, url_photo, duree, prenom, prix, id_adresse, ville_adresse) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)');
$req4->execute(array($id_annonceur, $type, $categorie, $description, $url_photo, $duree, $prenom, $prix, $id_adresse, $ville_adresse));

$req4->closeCursor(); // Termine le traitement de la requête


Ma dernière requête 'req4' fonctionne correctement si on passe avant par la 'req2' avant via la conditions, mais ne fonctionne pas si la conditions est vrai (si flag_adresse est égal à 'add_adresse). En revanche la requête 'req' s'exécute parfaitement.

Aucun messages d'erreur n'est renvoyé et je commence à perdre la tête.
Si quelqu'un aurait une idée, je lui en serai vraiment reconnaissant.

Merci de votre aide.
Nico
A voir également:

4 réponses

Xentor
 
Personne n'a une idée ?

Même la plus petite.
0
CptRomaiin Messages postés 334 Statut Membre 58
 
Salut,

Tu devrais essayer d'ajouter le code ci-dessous pour afficher les éventuelles erreurs de synthaxe ou autre sous ton prepare de la requête 4 et tu pourrais aussi mettre ton tableau de valeur pour la requête 4 dans une variable pour faire un var_dump() dessus histoire de voir si toute tes variables sont OK.

if (!$req4) {
   echo "PDO::errorInfo():";
   print_r($bdd->errorInfo()); // Remplace $bdd par ton instance PDO
}
$params = array($id_annonceur, $type, $categorie, $description, $url_photo, $duree, $prenom, $prix, $id_adresse, $ville_adresse);
var_dump($params);
$req4->execute($params);

Dis nous ce que te renvois ce code.
0
Xentor
 
Tout d'abord merci pour ton retour.

array(10) { [0]=> string(1) "1" [1]=> string(7) "produit" [2]=> string(5) "Tabac" [3]=> string(6) "clopes" [4]=> string(36) "../images/produits/produit_tabac.png" [5]=> string(19) "2015-10-07 20:30:09" [6]=> string(7) "Nicolas" [7]=> string(2) "60" [8]=> NULL [9]=> string(5) "Paris" }


Voici ce que me renvoi le var dump et appremment il y aurai donc une erreur a la récupération de 'id_adresse' qui est NULL.

Est-il possible que cette requête s'execute avt que celle précédente ne soit terminée ?

Si oui comment faire?

Merci beaucoup
0
Xentor
 
Une idée ?
0