Rechercher : dans
Par :

[PHP-MySQL] clause where avec variable php

Dernière réponse le 19 fév 2009 à 16:32:26 vince, le 21 jun 2005 à 11:16:15 
 Signaler ce message aux modérateurs

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

1

nauno, le 21 jun 2005 à 11:19:28
  • +1

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


et voila T'as déjà essayer le Foot US??? 
                                                            Tu devrais c'est génial!!!!!

Répondre à nauno

4

Jeff, le 19 fév 2009 à 16:20:22
  • +1

Voici une façon sécurisée de le faire :

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

Jeff
webmaster @ comment ca marche . <net|com>

Répondre à Jeff

2

antic80, le 21 jun 2005 à 11:20:14

Salut essaye ca


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

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

Répondre à antic80

3

BreTzeL, le 21 jun 2005 à 12:25:59
  • +1

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)

Le point commun entre l'informatique et l'alcool ?
- ça fait mal à la tête. :P

Répondre à BreTzeL

5

 IpIpIpIpOne, le 19 fév 2009 à 16:32:26

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)

Répondre à IpIpIpIpOne