[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

5 réponses

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


    et voila
    2
    1. Jean-François Pillou Messages postés 18961 Date d'inscription   Statut Webmaster Dernière intervention   63 308
       
      Voici une façon sécurisée de le faire :

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

      0
  2. 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
  3. 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
  4. antic80 Messages postés 4877 Statut Contributeur 1 178
     
    salut essaye ca

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

    $sql = 'SELECT * FROM SERVEUR
    WHERE SERVEUR.os_srv = "$os" ';
    -1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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