Problème avec foreign key
Fermé
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
-
27 mai 2016 à 12:00
delavega470 Messages postés 298 Date d'inscription dimanche 9 février 2014 Statut Membre Dernière intervention 24 mars 2020 - 31 mai 2016 à 15:04
delavega470 Messages postés 298 Date d'inscription dimanche 9 février 2014 Statut Membre Dernière intervention 24 mars 2020 - 31 mai 2016 à 15:04
A voir également:
- Problème avec foreign key
- Key windows 10 gratuit - Guide
- Show key plus - Télécharger - Utilitaires
- Joy to key - Télécharger - Émulation & Virtualisation
- Master key - Télécharger - Sécurité
- Fichier .key - Forum Windows 7
5 réponses
jordane45
Messages postés
38370
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
5 janvier 2025
4 722
27 mai 2016 à 15:55
27 mai 2016 à 15:55
Bonjour,
1 - Quel est le message d'erreur EXACT ?
2 - Prend l'habitude de placer ton code php (tout ce qui est traitement des données comme les SELECT ou les INSERT...) AVANT ton code html. cela rend le code de la page plus simple à lire.
3- As tu testé DIRECTEMENT dans ta BDD la requête pour voir ce que ça donne ? (car là.. ton souci n'est pas vraiment lié au PHP.. mais plus à tes requêtes et à leur utilisation....)
1 - Quel est le message d'erreur EXACT ?
2 - Prend l'habitude de placer ton code php (tout ce qui est traitement des données comme les SELECT ou les INSERT...) AVANT ton code html. cela rend le code de la page plus simple à lire.
3- As tu testé DIRECTEMENT dans ta BDD la requête pour voir ce que ça donne ? (car là.. ton souci n'est pas vraiment lié au PHP.. mais plus à tes requêtes et à leur utilisation....)
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
27 mai 2016 à 16:13
27 mai 2016 à 16:13
message c'est ça Erreur ! SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
jordane45
Messages postés
38370
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
5 janvier 2025
4 722
Modifié par jordane45 le 27/05/2016 à 16:16
Modifié par jordane45 le 27/05/2016 à 16:16
Donc AUCUN rapport avec la FOREIGN KEY comme le titre de ta question le laisse présumer......
Regarde bien ce que tu as écris :
C'est quoi ce bout de ligne : ,:nom_local que tu as inséré après les VALUES de ta requête ??
EDIT : Ah non.. c'est juste ta parenthèse de fin qui est mal placée visiblement.....
Regarde bien ce que tu as écris :
$sql = " INSERT INTO local (id_local,nom_local) values ( SELECT id_service FROM service WHERE nom_service= :nom_service),:nom_local "; $datas = array('id_service'=>$resultat['id_service'] ,':nom_local'=>$local);
C'est quoi ce bout de ligne : ,:nom_local que tu as inséré après les VALUES de ta requête ??
EDIT : Ah non.. c'est juste ta parenthèse de fin qui est mal placée visiblement.....
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
27 mai 2016 à 16:33
27 mai 2016 à 16:33
laquelle?
jordane45
Messages postés
38370
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
5 janvier 2025
4 722
27 mai 2016 à 18:48
27 mai 2016 à 18:48
Le plus simple lorsque tu as un souci comme celui-là... c'est :
1 - Faire un echo de la requête
2 - Copier ce qui s'affiche (grace au echo donc) et le coller directement dans ton phpMyadmin (dans l'onglet "sql") en prenant bien le soin de remplacer les variables (celles qui commencent par les deux points comme :nom_service et :nom_local par de vraies valeur (sans oublier des les mettre entre quotes).
Le fait de tester en DIRECT dans ta BDD les requêtes te permettra d'obtenir des informations sur les éventuelles erreurs que tu aurais pu faire en les écrivant.
NB: Pense aussi à systématiquement mettre les deux points ":" devant les noms des variables dans l'array data.
c'est préférable.
1 - Faire un echo de la requête
$sql = " INSERT INTO local (id_local,nom_local) values ( SELECT id_service FROM service WHERE nom_service= :nom_service),:nom_local "; echo "<br>La requete est :".$sql;
2 - Copier ce qui s'affiche (grace au echo donc) et le coller directement dans ton phpMyadmin (dans l'onglet "sql") en prenant bien le soin de remplacer les variables (celles qui commencent par les deux points comme :nom_service et :nom_local par de vraies valeur (sans oublier des les mettre entre quotes).
Le fait de tester en DIRECT dans ta BDD les requêtes te permettra d'obtenir des informations sur les éventuelles erreurs que tu aurais pu faire en les écrivant.
NB: Pense aussi à systématiquement mettre les deux points ":" devant les noms des variables dans l'array data.
$datas = array(':id_service'=>$resultat['id_service'] ,':nom_local'=>$local);
c'est préférable.
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
Modifié par delavega470 le 31/05/2016 à 13:34
Modifié par delavega470 le 31/05/2016 à 13:34
en fait j'ai fait un formulaire service avec nom service et ensuite je viens de faire un autre formulaire avec local contenant nom du local , j'avoue que je suis un peu perdu ,es ce que c'est une bonne méthode? et en plus il des données dans ma table service et rien dans ma table local.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
31 mai 2016 à 15:04
31 mai 2016 à 15:04
quand je met les valeurs ça passe!