Erreur en sql php
Fermé
Hacker#1
Messages postés
76
Date d'inscription
mardi 6 janvier 2009
Statut
Membre
Dernière intervention
20 avril 2010
-
12 avril 2009 à 18:43
le père - 12 avril 2009 à 21:51
le père - 12 avril 2009 à 21:51
A voir également:
- Erreur en sql php
- Erreur 0x80070643 - Guide
- Retour a la ligne php ✓ - Forum PHP
- Code erreur f3500-32 ✓ - Forum Bbox Bouygues
- Erreur 10016 epson - Forum Imprimante
- Erreur c2002 western union ✓ - Forum Vos droits sur internet
6 réponses
ben85350
Messages postés
610
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
2 avril 2013
27
12 avril 2009 à 18:49
12 avril 2009 à 18:49
Cela signifie que ta requête n'est pas correcte :
Deuxième point : éviter de mettre des espaces dans les noms des tables (maison d edition).
"SELECT * FROM livre where nom='$a'and maison d edition='$b' and auteur='$c'a remplacer par
"SELECT * FROM livre where nom='".$a."'and maison d edition='".$b."' and auteur='".$c.'"
Deuxième point : éviter de mettre des espaces dans les noms des tables (maison d edition).
Bonjour
Tu as (au moins...) deux problèmes dans ta requête :
1 - les espaces dans le nom de ton champ. Cela t'oblige à entourer le nom de ce champ avec des accents graves
2 - il manque un espace entre '$a' et and
"SELECT * FROM livre where nom='$a' and `maison d edition`='$b' and auteur='$c'"
Sinon, il est totalement inutile de couper la chaîne en 36 morceaux pour les concaténer.
Tu as (au moins...) deux problèmes dans ta requête :
1 - les espaces dans le nom de ton champ. Cela t'oblige à entourer le nom de ce champ avec des accents graves
2 - il manque un espace entre '$a' et and
"SELECT * FROM livre where nom='$a' and `maison d edition`='$b' and auteur='$c'"
Sinon, il est totalement inutile de couper la chaîne en 36 morceaux pour les concaténer.
Hacker#1
Messages postés
76
Date d'inscription
mardi 6 janvier 2009
Statut
Membre
Dernière intervention
20 avril 2010
12 avril 2009 à 21:41
12 avril 2009 à 21:41
j ai ajoute les accents graves et l espace entre and et $a
mais des nouveaux messages d'erreur appraissent?!
voila ce qui donne a l affichage
j n ai pas compris votre deuxieme proposition expliquer de plus
mais des nouveaux messages d'erreur appraissent?!
voila ce qui donne a l affichage
Notice: Undefined index: nom in C:\wamp\www\compte\avancee.php on line 47 Notice: Undefined index: auteur in C:\wamp\www\compte\avancee.php on line 47 Notice: Undefined index: maison d edition in C:\wamp\www\compte\avancee.php on line 47 Notice: Undefined index: nbre d exemplaire in C:\wamp\www\compte\avancee.php on line 48 nom auteur maison d edition nbre d exemplaire
j n ai pas compris votre deuxieme proposition expliquer de plus
Sinon, il est totalement inutile de couper la chaîne en 36 morceaux pour les concaténer.
chupa23
Messages postés
149
Date d'inscription
samedi 13 décembre 2008
Statut
Membre
Dernière intervention
20 juillet 2009
28
12 avril 2009 à 19:29
12 avril 2009 à 19:29
"Sinon, il est totalement inutile de couper la chaîne en 36 morceaux pour les concaténer." Je te dirais bien faux pour ça , essaie de placer une variable sessions dans une requête sans concaténer tes variables.Et de plus essaie d'utiliser de vrai de variable : a b c, ça veut rien dire.
Et place ceci après ta requête pour afficher l'erreur dans tes requêtes:
or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
Ceux qui donne :
De plus , essai de creer des chazmps sans espace dans tes bdd pour simpliier l'utilisation.
Et place ceci après ta requête pour afficher l'erreur dans tes requêtes:
or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
Ceux qui donne :
$req=mysql_query("SELECT * FROM livre where nom='".$a."'and maison d edition='".$b."' and auteur='".$c.'") or die('Erreur SQL !'.$req.'<br/>'.mysql_error());
De plus , essai de creer des chazmps sans espace dans tes bdd pour simpliier l'utilisation.
Sinon, il est totalement inutile de couper la chaîne en 36 morceaux pour les concaténer Je maintiens.
Je n'ai aucun problème pour mettre des variables de session dans une requête, et d'ailleurs il n'est pas question ici de variables de session.
Je maintiens aussi qu'on peut très bien utiliser des espaces dans un nom de table ou de champ (même si ça n'est pas une bonne idée, je suis d'accord) à la condition de l'entourer d'accents graves comme dans la requête que j'ai donnée
A ceux qui ne savent pas utiliser une variable de session (ou n'importe quel élément de tableau) dans une chaîne, je rappelle qu'il ne FAUT PAS mettre d'apostrophes autour de l'indice quand la variable est utilisée à l'intérieur d'une chaîne. Il faut écrire
"SELECT * FROM `matable` WHERE `nom`=$_SESSION[login]"
et non pas
"SELECT * FROM `matable` WHERE `nom`=$_SESSION['login']"
Je n'ai aucun problème pour mettre des variables de session dans une requête, et d'ailleurs il n'est pas question ici de variables de session.
Je maintiens aussi qu'on peut très bien utiliser des espaces dans un nom de table ou de champ (même si ça n'est pas une bonne idée, je suis d'accord) à la condition de l'entourer d'accents graves comme dans la requête que j'ai donnée
A ceux qui ne savent pas utiliser une variable de session (ou n'importe quel élément de tableau) dans une chaîne, je rappelle qu'il ne FAUT PAS mettre d'apostrophes autour de l'indice quand la variable est utilisée à l'intérieur d'une chaîne. Il faut écrire
"SELECT * FROM `matable` WHERE `nom`=$_SESSION[login]"
et non pas
"SELECT * FROM `matable` WHERE `nom`=$_SESSION['login']"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
475
12 avril 2009 à 21:46
12 avril 2009 à 21:46
Y'a plusieurs manière d'écrire ces requêtes sql. Ce qui compte c'est surtout d'en utiliser une qui marche. Chacun fait comme il veux ensuite. Faut je pense surtout être à l'aise avec la manière qu'on utilise.