Se connecter avec
S'enregistrer | Connectez-vous

variables php dans requete sql

Dernière réponse : dans Programmation

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

Lassé par la pub ? Créez un compte
Expert Programmation

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';

??

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 :-?
Lassé par la pub ? Créez un compte
Tom's guide dans le monde