[RESOLU] unexpected identifier dans SELECT

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] unexpected identifier dans SELECT

Re: unexpected identifier dans SELECT

par two3d » 10 juil. 2025, 19:21

Passe en résolu et ouvre un nouveau sujet stp pour demander comment fonctionne mysqli_prepare et AGAINST.

Re: unexpected identifier dans SELECT

par noradan » 10 juil. 2025, 17:04

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 à

Code : Tout sélectionner

mysqli_stmt_execute($stmt, [$_GET["Mot"]]);
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

par two3d » 06 juil. 2025, 16:13

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

par or 1 » 05 juil. 2025, 17:56

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

par noradan » 05 juil. 2025, 17:15

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

par or 1 » 03 juil. 2025, 17:18

on peut avoir le code qui retourne cette erreur dans son contexte ?

Re: unexpected identifier dans SELECT

par noradan » 03 juil. 2025, 13:59

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

par or 1 » 02 juil. 2025, 17:06

il y a pourtant une différence qui saute aux yeux.

unexpected identifier dans SELECT

par noradan » 02 juil. 2025, 14:21

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

Code : Tout sélectionner

mysqli_stmt_execute($stmt, [$_GET["Mot"]]);
Je ne vois pas pourquoi ça marche ici et pas là
Merci