Probleme pour fx recherche dans ma bdd

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Probleme pour fx recherche dans ma bdd

Re: Probleme pour fx recherche dans ma bdd

par xTG » 18 juil. 2012, 21:12

A noter que les ` pour la protection des champs ce n'est pas une norme SQL mais bel et bien spécifique à MySQL. ;)

Re: Probleme pour fx recherche dans ma bdd

par dix2 » 18 juil. 2012, 17:01

salut,

en SQL, il est préférable d'utiliser les simples quotes pour les valeurs de type string plutôt que les doubles quotes
et pour les noms de bases, tables et champs, il faut utiliser les quotes inversées (Alt Gr + 7)

ce qui donne :
$reponse = $bdd->query("SELECT * FROM `clients` WHERE `Nom` = '".$_POST['searchclient']."'");

ou comme le préconise xTG, avec l'opérateur LIKE :
$reponse = $bdd->query("SELECT * FROM `clients` WHERE `Nom` LIKE '".$_POST['searchclient']."%'");

@+
dix2

Re: Probleme pour fx recherche dans ma bdd

par xTG » 18 juil. 2012, 15:01

L'opérateur d'égalité recherche une égalité au sens stricte du terme.
Donc en ne tapant que le début tu risques pas d'inventer la fin...

Regardes plutôt du côté de l'opérateur LIKE en SQL. ;)

Probleme pour fx recherche dans ma bdd

par lebossu41 » 18 juil. 2012, 10:40

salut les amis,

je ne comprends pas pourquoi on script ne fonctionne pas, meme pas un message d'erreur nada! Dans un input, je veux saisir le début du nom et j'aimerais qu'une liste apparaisse


if (isset($_POST['btnsearch']))
{
if(!empty($_POST['searchclient']))
{
$pdo_options [PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO ('mysql:host=localhost;dbname=projet', 'root', '', $pdo_options);
$reponse= $bdd->query('SELECT * from clients where Nom = "'.$_POST['searchclient'].'"');
while($donnees=$reponse->fetch())
{
echo ''.$donnees['Nom'].' '.$donnees['Prenom'].' '.$donnees['Adresse'].' '.$donnees['CP'].'';
}

}

else {echo '<script language="Javascript">
alert ("SAISIE VIDE");
</script>';
}
}
?>