PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 14-04-2010 07:23:36

dan4
Membre
Inscription : 10-01-2010
Messages : 128

MYSQL clause where $champ = $mot

Bonjour! Je me demande si placer une variable après la clause where est une syntaxe correct et si non, si elle est acceptée?

au lieu d'écrire la clause where pour chacune des tables, je cru que placer une variable pour le champ de la clause.

   
$champ=$_POST['rechercherpar'];
$mot=$_POST['mot_cle'];
   
$resultat = mysql_query("select * from produits where $champ= '".$mot."'");
$ligne=mysql_fetch_array($resultat);
$nb=mysql_num_rows($resultat);

but recherché :

Rechercher dans une des tables présélectionnées avec un formulaire qui donne "champ" le contenu de la variable $mot.

ça me donne comme erreur :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\winfolders\EasyPHP5.2.10\www\test\search.php  on line 11

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in E:\winfolders\EasyPHP5.2.10\www\test\search.php on line 12


Salutations smile

Hors ligne

#2 14-04-2010 08:56:44

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : MYSQL clause where $champ = $mot

$sql="select * from produits where $champ= '$mot'";
echo $sql ;


comme çà, tu verra la "tronche" de ta requête puisque c'est certainement elle qui a un problème wink

a++

Hors ligne

#3 14-04-2010 16:21:50

dan4
Membre
Inscription : 10-01-2010
Messages : 128

Re : MYSQL clause where $champ = $mot

J'ai fini par trouver une solution mais qui s'adapte mal à mon script.

remplacer $champ par le nom du champ comme ceci :

WHERE champ1 LIKE .... OR

ça fonctionnait bien mais je devais doubler le code à cause que à cause que c'était pas tout à fait la même requete.  J'ai laissé tombé l'engin de recherche. Trop compliqué .


Salutations smile

Hors ligne

Pied de page des forums