Erreur en PHP : Ajout d'adresse
Résolu/Fermé
Numbyscuit
Messages postés
18
Date d'inscription
mercredi 20 juin 2012
Statut
Membre
Dernière intervention
23 janvier 2013
-
Modifié par Numbyscuit le 22/06/2012 à 14:40
Numbyscuit Messages postés 18 Date d'inscription mercredi 20 juin 2012 Statut Membre Dernière intervention 23 janvier 2013 - 25 juin 2012 à 11:13
Numbyscuit Messages postés 18 Date d'inscription mercredi 20 juin 2012 Statut Membre Dernière intervention 23 janvier 2013 - 25 juin 2012 à 11:13
A voir également:
- Erreur en PHP : Ajout d'adresse
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Retour a la ligne php ✓ - Forum PHP
- Code erreur f3500-32 ✓ - Forum Bbox Bouygues
7 réponses
Kafiristanica
Messages postés
266
Date d'inscription
mardi 12 juin 2012
Statut
Membre
Dernière intervention
27 août 2012
28
22 juin 2012 à 14:46
22 juin 2012 à 14:46
l'adresse ne serait pas une clef primaire ?
Numbyscuit
Messages postés
18
Date d'inscription
mercredi 20 juin 2012
Statut
Membre
Dernière intervention
23 janvier 2013
22 juin 2012 à 14:50
22 juin 2012 à 14:50
L'ID_Adresse est la clef primaire. Et sinon, la requête INSERT INTO fonctionne pour la table "avoir" comme pour la table "adresses". Mais le hic, c'est quand le code semble pas comprendre que les noms et prénoms doivent déjà exister aussi pour que ça bloque.
Numbyscuit
Messages postés
18
Date d'inscription
mercredi 20 juin 2012
Statut
Membre
Dernière intervention
23 janvier 2013
25 juin 2012 à 08:54
25 juin 2012 à 08:54
UP, si toutefois cela est permis.
Numbyscuit
Messages postés
18
Date d'inscription
mercredi 20 juin 2012
Statut
Membre
Dernière intervention
23 janvier 2013
Modifié par Numbyscuit le 25/06/2012 à 11:10
Modifié par Numbyscuit le 25/06/2012 à 11:10
J'ai changé la structure de la requête, et ça semble fonctionner :
Ce qui est étrange, c'est que la précédente structure fonctionnait sans problème pour vérifier l'inscription, mais pas pour l'ajout d'adresse.
$name = $_SESSION['nom']; $prename = $_SESSION['prenom']; $addr = $_POST['adress']; $postal = $_POST['CP']; $town = $_POST['ville']; $country = $_POST['pays']; $check = $bdd->prepare( "SELECT * FROM adresses INNER JOIN avoir ON avoir.ID_Adresse = adresses.ID_Adresse INNER JOIN clients ON clients.ID_Client = avoir.ID_Client WHERE clients.NomClient = :name AND clients.PrenomClient = :prename AND adresses.RueAdresse = :addr AND adresses.CPAdresse = :postal AND adresses.VilleAdresse = :town AND adresses.PaysAdresse = :country "); $check->execute(array( 'name'=>$name, 'prename'=>$prename, 'addr'=>$addr, 'postal'=>$postal, 'town'=>$town, 'country'=>$country )); $check->setFetchMode(PDO::FETCH_OBJ);
Ce qui est étrange, c'est que la précédente structure fonctionnait sans problème pour vérifier l'inscription, mais pas pour l'ajout d'adresse.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
25 juin 2012 à 11:10
25 juin 2012 à 11:10
Bonjour
Oui, un up est tout à fait permis, dans la mesure où tu n'en abuses pas. Et après 3 jours, on ne peut pas te reprocher d'en abuser.
Je reçois toujours le message d'erreur "Erreur dans l'adresse" Sauf erreur de ma part, ce message n'existe pas dans ton script. Quel message d'erreur as-tu vraiment ?
else if(($ligneTrois = $reqTrois->fetch() AND $ligneQuatre = $reqQuatre->fetch() AND $ligneCinq = $reqCinq->fetch() AND $ligneSix = $reqSix->fetch() AND $ligneSept = $reqSept->fetch() AND $ligneHuit = $reqHuit->fetch() ) OR ($ligne = $req->fetch() AND $ligneCinq = $reqCinq->fetch() AND $ligneSix = $reqSix->fetch() AND $ligneSept = $reqSept->fetch() AND $ligneHuit = $reqHuit->fetch()) )
Ton problème s'explique très bien par cette condition.
Si les noms sont différents, tu sautes au OR. Là, tu ne compares les adresses, elles sont égales, donc le if est globalement vrai.
D'autre part, te rends-tu compte que dans l'évaluation de cette condition, tu peux être amené à faire deux fois $reqCinq->fetch(), ... et que cela va donc essayer de lire deux lignes du résultat de la requête... Tu peux donc avoir 'vrai' la 1ère fois et 'faux' la seconde, je doute que ce soit l'effet recherché.
Oui, un up est tout à fait permis, dans la mesure où tu n'en abuses pas. Et après 3 jours, on ne peut pas te reprocher d'en abuser.
Je reçois toujours le message d'erreur "Erreur dans l'adresse" Sauf erreur de ma part, ce message n'existe pas dans ton script. Quel message d'erreur as-tu vraiment ?
else if(($ligneTrois = $reqTrois->fetch() AND $ligneQuatre = $reqQuatre->fetch() AND $ligneCinq = $reqCinq->fetch() AND $ligneSix = $reqSix->fetch() AND $ligneSept = $reqSept->fetch() AND $ligneHuit = $reqHuit->fetch() ) OR ($ligne = $req->fetch() AND $ligneCinq = $reqCinq->fetch() AND $ligneSix = $reqSix->fetch() AND $ligneSept = $reqSept->fetch() AND $ligneHuit = $reqHuit->fetch()) )
Ton problème s'explique très bien par cette condition.
Si les noms sont différents, tu sautes au OR. Là, tu ne compares les adresses, elles sont égales, donc le if est globalement vrai.
D'autre part, te rends-tu compte que dans l'évaluation de cette condition, tu peux être amené à faire deux fois $reqCinq->fetch(), ... et que cela va donc essayer de lire deux lignes du résultat de la requête... Tu peux donc avoir 'vrai' la 1ère fois et 'faux' la seconde, je doute que ce soit l'effet recherché.
Numbyscuit
Messages postés
18
Date d'inscription
mercredi 20 juin 2012
Statut
Membre
Dernière intervention
23 janvier 2013
25 juin 2012 à 11:13
25 juin 2012 à 11:13
A une minute près ^^
Mais merci quand même pour tes éclaircissement =)
Mais merci quand même pour tes éclaircissement =)