Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1408 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  recherche php mysql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

recherche php mysql

n°1205401
hageshii
Posté le 22-09-2005 à 17:58:02  profilanswer
 

bonjour,
 
vous pouriez me dire ou est l'erreur dans ma requette mysql?
 
j'ai toujours le meme message d'erreur quand je veux faire cette requette là
 
 
 $recherche = $_REQUEST['rechercher'];
 $sql  = mysql_query( "SELECT DISTINCT titre FROM film
          WHERE  (titre LIKE  "%$recherche%"
                  OR resume LIKE "%$recherche%"
                 OR acteur LIKE "%$recherche%" ) " );
       
 
  while ($donnee = mysql_fetch_array($sql))
{
...
}
 
"Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource" sur la ligne du while pour l'argument $sql, enfin je pense.
 
mais pourquoi??
 
là je suis a court d'idée..  :heink:

mood
Publicité
Posté le 22-09-2005 à 17:58:02  profilanswer
 

n°1205409
dwogsi
Défaillance cérébrale...
Posté le 22-09-2005 à 18:00:41  profilanswer
 

Fait un
echo mysql_error();
juste aprèston mysql_query() ca devrait pouvoir t'aider.
Et met ta requête entre quotes simple et les variables ca se met comme ca:
'.$var.' on les met pas directe dans la chaine...


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1205413
kalex
Posté le 22-09-2005 à 18:03:27  profilanswer
 

Ta requête semble valide. T'es sur que tu ne t'es pas embrouillé avec les variables $sql et $? ?

n°1205423
hageshii
Posté le 22-09-2005 à 18:13:04  profilanswer
 

dwogsi a écrit :

Fait un
echo mysql_error();
juste aprèston mysql_query() ca devrait pouvoir t'aider.
Et met ta requête entre quotes simple et les variables ca se met comme ca:
'.$var.' on les met pas directe dans la chaine...


 
 
voila ce que me repond le echo mysql_error();
Query was empty
 
ca voudrait dire que mon select n'est pas bon... :o/
 
$sql  = mysql_query( "SELECT DISTINCT titre FROM film
          WHERE  (titre LIKE  "%'.$recherche'%"
                  OR resume LIKE "%'.$recherche'%"
                 OR acteur LIKE "%'.$recherche'%" ) " );
 
une idée?

n°1205426
sielfried
Posté le 22-09-2005 à 18:14:27  profilanswer
 

Des guillemets dans des guillemets, spa super. :o


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1205429
kalex
Posté le 22-09-2005 à 18:16:35  profilanswer
 

Ah ouais ! d'où la requête vide...

n°1205430
hageshii
Posté le 22-09-2005 à 18:16:56  profilanswer
 

sielfried a écrit :

Des guillemets dans des guillemets, spa super. :o


 
 
juste %'.$recherche'%  et "%'.$recherche'%" ?

n°1205431
kalex
Posté le 22-09-2005 à 18:18:10  profilanswer
 

plutot : \"


Message édité par kalex le 22-09-2005 à 18:18:29
n°1205437
omega2
Posté le 22-09-2005 à 18:20:33  profilanswer
 

$sql  = mysql_query( "SELECT DISTINCT titre FROM film  
          WHERE  (titre LIKE  "%'.$recherche'%"  
                  OR resume LIKE "%'.$recherche'%"  
                 OR acteur LIKE "%'.$recherche'%" ) " );  
 
 
 
=>  
$sql  = mysql_query( 'SELECT DISTINCT titre FROM film  
          WHERE  (titre LIKE  "%'.$recherche.'%"  
                  OR resume LIKE "%'.$recherche.'%"  
                 OR acteur LIKE "%'.$recherche.'%" ) ');  
 
Soit on délimite avec des " soit avec des ' mais pas un coup avec l'un un coup avec l'autre. Et tant qu'a faire, on met le . de concaténation avant et aprés le nom de la variable et pas juste d'un seul côté. ;)

n°1205438
kalex
Posté le 22-09-2005 à 18:20:37  profilanswer
 

Mais si tu utilises des ' :
'SELECT DISTINCT titre FROM film
          WHERE  (titre LIKE  "%'.$recherche.'%"
                  OR resume LIKE "%'.$recherche.'%"
                 OR acteur LIKE "%'.$recherche.'%" ) '
 
edit grilled


Message édité par kalex le 22-09-2005 à 18:21:11
mood
Publicité
Posté le 22-09-2005 à 18:20:37  profilanswer
 

n°1205449
hageshii
Posté le 22-09-2005 à 18:30:51  profilanswer
 

toujours Query was empty
 
ca vient bien de là "%'.$recherche.'%"
 
que je mette "%'.$recherche.'%" ou "%$recherche%", je reste bloqué au meme endroit "Query was empty"
 
je suis certain que c'est tout bte en plus ^^
 
 
ps : desolé, je suis pas encore un pro. j'apprend tout seul

n°1205459
omega2
Posté le 22-09-2005 à 18:38:07  profilanswer
 

hageshii > Elle a quelle tête ta requette maintenant?
Ca serait bien que tu mettes ta requette dans une variable avant de l'exécuter avec le mysql_query afin de pouvoir en faire un echo permettant de voir ce qui est envoyé exactement au serveur.
Au fait, t'as pensé à faire un addslash? Ton probléme vient peut être du contenu de $recherche.
Sinon, comme la proposer dwogsi, rajoute un "or echo mysql_error();" à la place du ; finissant le mysql_query. Ca te permettra de voir le message d'erreur si ca c'est mal exécuté.
 
kalex > grillé, mais vraiment de trés peu.

n°1205464
kalex
Posté le 22-09-2005 à 18:41:10  profilanswer
 

:D
 
Et faire un petit tour sur http://fr2.php.net/manual/fr/language.types.string.php ne serait peut pas inutile pour hageshii . ;)

n°1205469
hageshii
Posté le 22-09-2005 à 18:46:43  profilanswer
 

bon, je vais regarder atentivement ce site et essayer d'arranger ca car ca m'enreve pas trouver.
 
en tout cas, merci a tous

n°1205472
hageshii
Posté le 22-09-2005 à 18:50:21  profilanswer
 

ca marche!! yahouuuuuuuuuuuuu
lol
 
pour info, voila ma requette
 
 $query  =  'SELECT DISTINCT titre FROM film  
          WHERE  (titre LIKE  "%'.$recherche.'%"  
                  OR resume LIKE "%'.$recherche.'%"  
                 OR acteurs LIKE "%'.$recherche.'%" )';
   
 
$sql = mysql_query($query);
echo mysql_error();  
 
  while ($donnee = mysql_fetch_array($sql))
{...}

n°1206343
Ricco
Retour au pays
Posté le 24-09-2005 à 00:31:19  profilanswer
 

En gros t'a rien changé mais maintenant y'a des données dans la table film c'est ça ? :whistle:


Message édité par Ricco le 24-09-2005 à 00:31:55

---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  recherche php mysql

 

Sujets relatifs
[MySQL] Problème de recherche sur 3 tables[php-mySQL] recherche dans une base mySQL problème d'accents
script php de recherche (multicriteres) , et d'update de tables mysqlRecherche dans mysql
Recherche csv VS recherche mysqlRecherche dans MySQL en PHP
Recherche dans un result MySQLMYSQL - Recherche d'un "SELECT" hasardeux non "équiprobable" !
recherche sur plusieurs tables MySQLrecherche dans une base mysql
Plus de sujets relatifs à : recherche php mysql


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR