Page 1 sur 1

j'ai un problème de syntaxe

Posté : 28 mars 2006, 10:45
par Invité
Bonjour
J'ai un problème de syntaxe sur ce script qui fonctionne dans une fenêtre sql mais pas dans ma page php

$select = "SELECT * FROM francophone WHERE INSTR (artistes_groupes_fra , $h ) > 0 ";

Merci pour toute aide :D

Posté : 28 mars 2006, 10:51
par zeus
si tu fait
echo $select
et que tu execute la requete générée, il se passe quoi ?

Quel est le message d'erreur que tu obtiens ?

Posté : 28 mars 2006, 17:12
par PatrickG
bonjour et merci d'avoir regardé ma question. voici le message d'erreur:

SELECT * FROM francophone WHERE INSTR (artistes_groupes_fra , lenomrecherché ) > 0
Erreur : Erreur de syntaxe près de '(artistes_groupes_fra , lenomrecherché ) > 0' à la ligne 1

Posté : 28 mars 2006, 17:20
par Utilisateur anonyme
moi je dirait que c'est le "$h" qui merde.

essaye:
$select = "SELECT * FROM francophone WHERE INSTR (artistes_groupes_fra , '".$h."' ) > 0 ";
en fait c pas tres lisible!
fait une concatenation de chaine et tu met des simple cote
donc ca donne ' " . $h . " '
(sans les espaces)

Posté : 28 mars 2006, 17:57
par zeus
@greffzion : pense à utiliser les balises
 quand tu postes du code ;)

@PatrickG : comme te le dit [b]greffzion[/b], c'est plus propre de sortir les variables des chaines.
Mais ton erreur ne vient pas de là puisque la variable est bien remplacée

Par contre, supprime l'espace entre INSTR et (. Comme tu peut le remarquer, MySQL t'indique que l'erreur a ey lieu sur l'espace juste avant la parenthèse ouvrante ;)