Page 1 sur 1
unexpected identifier dans SELECT
Posté : 02 juil. 2025, 14:21
par noradan
Bonjour
je ne comprends pas pourquoi j'ai "unexpected identifier adresse" dans la ligne suivante
Code : Tout sélectionner
SELECT adresse, FROM groupe_index WHERE groupe LIKE 'airbag';
Evidemment j'ai vérifié qu'il n'y avait pas d'erreur dans le nom "adresse" (du genre "espace")
Pourtant, ça fonctionne dans
Code : Tout sélectionner
$stmt = mysqli_prepare($bdd, "SELECT adresse FROM groupes_index WHERE
groupe LIKE ?");
où bien entendu le ? est remplacé par 'airbag' après
Je ne vois pas pourquoi ça marche ici et pas là
Merci
Re: unexpected identifier dans SELECT
Posté : 02 juil. 2025, 17:06
par or 1
il y a pourtant une différence qui saute aux yeux.
Re: unexpected identifier dans SELECT
Posté : 03 juil. 2025, 13:59
par noradan
si c'est de la virgule dont tu parle ça ne change rien !
avec ou sans c'est pareil.
(cette virgule se trouve dans plusieurs tuto même avec une seule colonne raison pour laquelle je l'ai mise après coup)
Re: unexpected identifier dans SELECT
Posté : 03 juil. 2025, 17:18
par or 1
on peut avoir le code qui retourne cette erreur dans son contexte ?
Re: unexpected identifier dans SELECT
Posté : 05 juil. 2025, 17:15
par noradan
voilà
Code : Tout sélectionner
$bdd=mysqli_connect('localhost', 'root', '','proglyrics') or die
("Connexion au serveur impossible");
$groupe=$_GET['Mot'];
SELECT adresse FROM groupe_index WHERE groupe LIKE 'airbag';
voilà ! et je reçois
"Parse error: syntax error, unexpected identifier "adresse" in H:\proglyrics\recherche.php on line 16"
D'accord je débute et je ne comprends pas grand chose mais là ...
Re: unexpected identifier dans SELECT
Posté : 05 juil. 2025, 17:56
par or 1
que faites-vous avec
$stmt = mysqli_prepare($bdd, "SELECT adresse FROM groupes_index WHERE groupe LIKE ?");
mysqli_stmt_execute($stmt, [$_GET["Mot"]]);
et avec
SELECT adresse FROM groupe_index WHERE groupe LIKE 'airbag';
?
Re: unexpected identifier dans SELECT
Posté : 06 juil. 2025, 16:13
par two3d
il faut utiliser "SELECT adresse FROM groupe_index WHERE groupe LIKE 'airbag'; " avec
mysqli_query :
Code : Tout sélectionner
mysqli_query($bdd, "SELECT adresse FROM groupe_index WHERE groupe LIKE 'airbag'; ");
Ton LIKE est inutile et prend des ressources pour rien si tu n'utilise pas de %, fait directement avec =.
WHERE groupe = 'airbag'
Re: unexpected identifier dans SELECT
Posté : 10 juil. 2025, 17:04
par noradan
En fait j'ai pigé le problème. Je faisais la même faute à mes tout début entre php et html. Ici c'est entre php et sql. "SELECT" n'étant PAS une commande php, pour pouvoir être exécutée il faut un truc qui en fasse quelque chose de compréhensible pour lui et c'est le role de "mysqli".
Le problème que j'ai est le suivant
Comment utiliser une requête préparée avec MATCH ?
Le code
Code : Tout sélectionner
$stmt = mysqli_prepare($bdd, "SELECT adresse FROM groupes_index WHERE groupe LIKE ?");
Fait ce que je veut mais avec un seul mot provenant d'un formulaire de recherche et qui remplace le "?" grace à
D'après mon expérience "AGAINST ?" ne fonctionne pas.
Que doit-on écrire pour que
Code : Tout sélectionner
$stmt = mysqli_prepare($bdd, "SELECT adresse FROM groupes_index WHERE MATCH(groupe) AGAINST ?");
fonctionne ?
Re: unexpected identifier dans SELECT
Posté : 10 juil. 2025, 19:21
par two3d
Passe en résolu et ouvre un nouveau sujet stp pour demander comment fonctionne mysqli_prepare et AGAINST.