Fatal error
Résolu/Fermé
danielos77
Messages postés
108
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
16 janvier 2024
-
Modifié le 17 mai 2020 à 07:02
yg_be Messages postés 23412 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 décembre 2024 - 17 mai 2020 à 19:08
yg_be Messages postés 23412 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 décembre 2024 - 17 mai 2020 à 19:08
4 réponses
yg_be
Messages postés
23412
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 décembre 2024
Ambassadeur
1 557
17 mai 2020 à 09:39
17 mai 2020 à 09:39
bonjour,
réflexe à avoir, dans ce cas-là:
réflexe à avoir, dans ce cas-là:
$sql='SELECT CoutHebergement FROM Stages_AEM WHERE NumStage=$ChoixStage'; echo $sql;
jordane45
Messages postés
38358
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 décembre 2024
4 719
Modifié le 17 mai 2020 à 10:13
Modifié le 17 mai 2020 à 10:13
ça te montre que ta requête n'est pas bonne....
Il faut, au choix, utiliser de la concaténation de string .... soit utiliser les bonnes "quotes".
Teste ce code et regarde ce que ça affiche... de là tu dois pouvoir trouver la cause de ton erreur
Il faut, au choix, utiliser de la concaténation de string .... soit utiliser les bonnes "quotes".
Teste ce code et regarde ce que ça affiche... de là tu dois pouvoir trouver la cause de ton erreur
<?php $aaa = "danielos"; echo 'bonjour $aaa'; echo "bonjour $aaa"; echo 'bonjour ' . $aaa;
danielos77
Messages postés
108
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
16 janvier 2024
2
17 mai 2020 à 09:50
17 mai 2020 à 09:50
Bonjour yg_be,
C'est bien mais à part m'afficher
SELECT CoutHebergement FROM Stages_AEM WHERE NumStage=$ChoixStage
sur ma page, ça m'avance à quoi ?
A moins que ce ne soit dans la base que je doive y mettre cette instruction et non pas dans le script de ma page ...
Et dans ce cas la variable $ChoixStage n'est pas connue et en la remplaçant par sa valeur, comme je l'ai dit dans ma question, la valeur CoutHebergement correspondant s'affiche bien.
Daniel
C'est bien mais à part m'afficher
SELECT CoutHebergement FROM Stages_AEM WHERE NumStage=$ChoixStage
sur ma page, ça m'avance à quoi ?
A moins que ce ne soit dans la base que je doive y mettre cette instruction et non pas dans le script de ma page ...
Et dans ce cas la variable $ChoixStage n'est pas connue et en la remplaçant par sa valeur, comme je l'ai dit dans ma question, la valeur CoutHebergement correspondant s'affiche bien.
Daniel
danielos77
Messages postés
108
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
16 janvier 2024
2
17 mai 2020 à 10:59
17 mai 2020 à 10:59
Merci Jordane45,
C'est vrai que cette histoire de "quotes" c'est un peu merd... Mais bon, c'est à moi de m'y fairer et de faire attention.
ça marche aussi avec l'instruction de yg_be.
avec des simples quotes j'obtiens ce que j'avais écrit :
SELECT CoutHebergement FROM Stages_AEM WHERE NumStage=$ChoixStage
et avec des doubles quotes j'ai la valeur de la variable $ChoixStage qui s'affiche !
Bon dimanche à vous 2
Daniel
C'est vrai que cette histoire de "quotes" c'est un peu merd... Mais bon, c'est à moi de m'y fairer et de faire attention.
ça marche aussi avec l'instruction de yg_be.
avec des simples quotes j'obtiens ce que j'avais écrit :
SELECT CoutHebergement FROM Stages_AEM WHERE NumStage=$ChoixStage
et avec des doubles quotes j'ai la valeur de la variable $ChoixStage qui s'affiche !
Bon dimanche à vous 2
Daniel
yg_be
Messages postés
23412
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 décembre 2024
1 557
17 mai 2020 à 11:39
17 mai 2020 à 11:39
il est vrai aussi que ton comportement est un peu erratique.
parfois tu utilises
je suggère que tu prennes l'habitude de ne jamais mettre de nom de variable à l'intérieur des apostrophes, cela t'évitera ce genre de maladresse.
parfois tu utilises
prepare, parfois pas.
je suggère que tu prennes l'habitude de ne jamais mettre de nom de variable à l'intérieur des apostrophes, cela t'évitera ce genre de maladresse.
danielos77
Messages postés
108
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
16 janvier 2024
2
>
yg_be
Messages postés
23412
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 décembre 2024
17 mai 2020 à 11:51
17 mai 2020 à 11:51
C'est noté.
Pour le côté erratique, c'est entièrement involontaire et dû à mon ignorance dans l'écriture de code. Je reconnais que je suis une bille en informatique mais je vais quand même tenter de progresser un peu grâce à des personnes généreuses comme vous.
Merci encore.
Pour le côté erratique, c'est entièrement involontaire et dû à mon ignorance dans l'écriture de code. Je reconnais que je suis une bille en informatique mais je vais quand même tenter de progresser un peu grâce à des personnes généreuses comme vous.
Merci encore.
yg_be
Messages postés
23412
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 décembre 2024
1 557
>
danielos77
Messages postés
108
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
16 janvier 2024
17 mai 2020 à 19:08
17 mai 2020 à 19:08
dans ce contexte, l'avantage principal de toujours utiliser la même technique, c'est d'utiliser une technique familière et connue, pour ne pas tomber dans de nouveaux pièges à chaque fois.
il est vrai que les requêtes préparées sont plus performantes lorsqu'elles sont souvent sollicitées, mais elles sont également beaucoup plus sécurisées, et elles facilitent l'écriture du code.
"de ne pas mettre ma variable entre quotes", c'est faire comme la troisième méthode que Jordane te montre en #3. je trouve que c'est plus clair, entr'autres parce que les autres langages de programmation ne permettent pas ce genre de raccourci.
par exemple:
il est vrai que les requêtes préparées sont plus performantes lorsqu'elles sont souvent sollicitées, mais elles sont également beaucoup plus sécurisées, et elles facilitent l'écriture du code.
"de ne pas mettre ma variable entre quotes", c'est faire comme la troisième méthode que Jordane te montre en #3. je trouve que c'est plus clair, entr'autres parce que les autres langages de programmation ne permettent pas ce genre de raccourci.
par exemple:
$sql = "SELECT CoutHebergement FROM Stages_AEM WHERE NumStage='". $ChoixStage . "'"; $reponse = $bdd->query($sql);