Se connecter / S'enregistrer
Votre question

variables php dans requete sql

Tags :
  • Sql
  • Programmation
Dernière réponse : dans Programmation
9 Août 2005 16:47:16

Heeeeeeeeeelp!

J'ai un problème de taille dont je ne sais pas comment me sortir.

Je constitue une requete sql à partir de variables php
par exemple:
$selec="selec from table";
$where= "where champ= '".$ch."'";
$query= $select.$where order by champ1 asc limit '.$limite.',5';

j'ai donc 5 résultats par page et je repasse ma variable $where et ma variable $limite à ma page tant qu'il y a des résultats à ma requête.

Le problème, c'est qu'à chaque fois un "\" est ajouté devant ma variable $ch à l'intérieur de ma variable $where.

Sur la 2eme page, ma requête devient
"selec from table where champ = \'8\' order by champ asc limit 5,5" (en posant $ch=8)

et mysqli me signale une erreur à cause des deux "\".

Je passe également ma variable $where à d'autres pages en offrant sur celles-ci la possibilité de revenir à la page des résultats de ma requête. A chaque passage de la variable à une page, un "\" s'ajoute devant ceux déjà présents.

J'utilise la fonction htmlspecialchars($where) à chaque fois que je passe la variable à une page mais ca n'arrange rien. Quand je passe ma variable telle qu'elle (sans htmlspecialchars()) ca ne marche pas non plus.

Que dois-je faire?

Merci d'avance pour votre aide précieuse

Autres pages sur : variables php requete sql

a c 232 L Programmation
9 Août 2005 16:54:26

Salut,

et avec un StripSlashes() ! :-)
9 Août 2005 16:59:28

Salut,

j'avais déjà essayé et je viens de le refaire, avec stripslashes(), avec stripslashes(htmlspecialchars()), aucun changement :cry:  :cry: 
Contenus similaires
a c 232 L Programmation
9 Août 2005 17:04:08

et si tu fais :

$selec="selec from table";
$where= "where champ= '".$ch."'";
$where = stripslashes($where);
$query= $select.$where order by champ1 asc limit '.$limite.',5';

??
9 Août 2005 18:33:39

Ca fonctionne, mais seulement quand je n'ai passé ma variable $where qu'à une seule page.
Quand je l'ai passée à plusieurs pages, j'ai une accumulation de '\' . Je dois donc effectuer un stripslashes() à chaque fois que je prends ma variable $where en POST???

C'est logique dans l'état des choses mais je n'ai jamais vu ca nulle part :-?
a c 232 L Programmation
9 Août 2005 19:15:07

Ah...
Ben ouais c'est bizarre ton truc... mais bon... s'il faut faire un stripslashes, ben stripslashes moi tout ça ! :lol:  ;-)
9 Août 2005 19:36:12

Hihi oui, stripslashons mes enfants, stripslashons!
9 Août 2005 20:50:11

ET PETONS UN GROS COUP
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS