[PHP-MySQL] clause where avec variable php

Fermé
vince - 21 juin 2005 à 11:16
 ngiste - 16 déc. 2009 à 17:19
Je souhaite préciser la clause "where" de MySQL avec une variable php renseignée grâce à un formulaire html. Est-ce tout d'abord possible, et si oui quelle est la syntaxe à respecter ?

Voila ce que j'avais fait mais qui ne marche pas...

$sql = 'SELECT * FROM SERVEUR
WHERE SERVEUR.os_srv = "$os" ';

La variable qui est renseignée par le formulaire html est $os

5 réponses

nauno Messages postés 342 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 14 mai 2009 60
21 juin 2005 à 11:19
$sql = "SELECT * FROM SERVEUR 
WHERE SERVEUR.os_srv = '$os'"; 


et voila
2
Jean-François Pillou Messages postés 18879 Date d'inscription lundi 15 février 1999 Statut Webmaster Dernière intervention 16 février 2023 63 274
19 févr. 2009 à 16:20
Voici une façon sécurisée de le faire :

$sql = 'SELECT * FROM SERVEUR WHERE SERVEUR.os_srv = "'.mysql_escape_string($os).'" '; 

0
BreTzeL Messages postés 59 Date d'inscription mardi 22 juillet 2003 Statut Membre Dernière intervention 28 juin 2005 24
21 juin 2005 à 12:25
salut,

juste pour préciser que passer directement des variables renseignées dans un formulaire dans une requete SQL est une grosse faille de sécurité ( il suffit de cloturé la requete et d'en ajouter une a la suite pour pouvoir faire n'importe quoi sur la base).

il faut toujours verifier la validité des information saisies par l'utilisateur (qui, je vous le rappelle, est toujours bete comme ses pieds)

1
IpIpIpIpOne Messages postés 436 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 24 mai 2009 116
19 févr. 2009 à 16:32
SELECT * FROM ...

c'est pas super terrible non plus niveau performance. Sauf si tu utilises vraiment tous les champs de la table, il vaut mieux les nommer un par un (SELECT champ1, champ2, champ3 FROM)
1
antic80 Messages postés 4785 Date d'inscription lundi 30 mai 2005 Statut Contributeur Dernière intervention 9 septembre 2009 1 161
21 juin 2005 à 11:20
salut essaye ca


if(isset($_POST['nomduchampdetonformulaire'])) $os=$_POST['nomduchampdetonformulaire'];
else $os="";

$sql = 'SELECT * FROM SERVEUR
WHERE SERVEUR.os_srv = "$os" ';
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bonsoir,

en regardant ce message et en "essayant" de l'adapter

$query='select fichier_document.identifiant from "fichier_document", "mots_principaux" where mots_principaux.identifiant_fichierdocument = fichier_document.identifiantdoc and mots_principaux.nomfichiersommaire = $titre" ';


j'obtiens le message d'erreur
Query failed: ERROR: syntax error at or near "= $" LINE 1: ...tifiantdoc and mots_principaux.nomfichiersommaire = $titre" ^ in C:\ms4w\Apache\htdocs\telechargement_doc\recherche.php on line 36

est ce que quelqu'un peut m'aider à trouver la bonne syntaxe
0