[PHP-MySQL] clause where avec variable php

vince -  
 ngiste -
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
A voir également:

5 réponses

nauno Messages postés 342 Statut Membre 60
 
$sql = "SELECT * FROM SERVEUR 
WHERE SERVEUR.os_srv = '$os'"; 


et voila
2
Jean-François Pillou Messages postés 19541 Date d'inscription   Statut Webmaster Dernière intervention   63 279
 
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 Statut Membre 24
 
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 480 Statut Membre 116
 
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 4877 Statut Contributeur 1 161
 
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
ngiste
 
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