recherche php mysql - PHP - Programmation
Marsh Posté le 22-09-2005 à 18:00:41
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...
Marsh Posté le 22-09-2005 à 18:03:27
Ta requête semble valide. T'es sur que tu ne t'es pas embrouillé avec les variables $sql et $? ?
Marsh Posté le 22-09-2005 à 18:13:04
dwogsi a écrit : Fait un |
voila ce que me repond le echo mysql_error();
Query was empty
ca voudrait dire que mon select n'est pas bon... /
$sql = mysql_query( "SELECT DISTINCT titre FROM film
WHERE (titre LIKE "%'.$recherche'%"
OR resume LIKE "%'.$recherche'%"
OR acteur LIKE "%'.$recherche'%" ) " );
une idée?
Marsh Posté le 22-09-2005 à 18:14:27
Des guillemets dans des guillemets, spa super.
Marsh Posté le 22-09-2005 à 18:16:56
sielfried a écrit : Des guillemets dans des guillemets, spa super. |
juste %'.$recherche'% et "%'.$recherche'%" ?
Marsh Posté le 22-09-2005 à 18:18:10
plutot : \"
Marsh Posté le 22-09-2005 à 18:20:33
$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é.
Marsh Posté le 22-09-2005 à 18:20:37
Mais si tu utilises des ' :
'SELECT DISTINCT titre FROM film
WHERE (titre LIKE "%'.$recherche.'%"
OR resume LIKE "%'.$recherche.'%"
OR acteur LIKE "%'.$recherche.'%" ) '
edit grilled
Marsh Posté le 22-09-2005 à 18:30:51
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
Marsh Posté le 22-09-2005 à 18:38:07
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.
Marsh Posté le 22-09-2005 à 18:41:10
Et faire un petit tour sur http://fr2.php.net/manual/fr/language.types.string.php ne serait peut pas inutile pour hageshii .
Marsh Posté le 22-09-2005 à 18:46:43
bon, je vais regarder atentivement ce site et essayer d'arranger ca car ca m'enreve pas trouver.
en tout cas, merci a tous
Marsh Posté le 22-09-2005 à 18:50:21
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))
{...}
Marsh Posté le 24-09-2005 à 00:31:19
En gros t'a rien changé mais maintenant y'a des données dans la table film c'est ça ?
Marsh Posté le 22-09-2005 à 17:58:02
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..