Erreur SQL recherche_to_array / espace privé recherche auteur

Cherchant un auteur par son mail sur contrib en SPIP 4.4.6 (https://contrib.spip.net/ecrire/?exec=auteurs&recherche=b2esis%40gmail.com ) l'erreur suivante s'affiche :

  • Erreur SQL 1064 syntax error, unexpected '@', expecting $end SELECT t.id_auteur, t.nom, t.bio, t.email, t.nom_site, t.url_site, t.login, MATCH(t.nom) AGAINST ('b2esis@gmail.com*' IN BOOLEAN MODE) * 5 + MATCH(t.nom,t.bio,t.email,t.nom_site,t.url_site) AGAINST ('b2esis@gmail.com*' IN BOOLEAN MODE) * 1.4 + IF(SUM(o1.score) IS NULL,0,SUM(o1.score)) AS score FROM spip_auteurs AS t LEFT JOIN ( SELECT lien1.id_objet,MATCH(obj1.titre,obj1.titre,obj1.texte,obj1.descriptif) AGAINST ('b2esis@gmail.com*' IN BOOLEAN MODE) AS score FROM spip_mots_liens as lien1 JOIN spip_mots as obj1 ON obj1.id_mot=lien1.id_mot AND lien1.objet='auteur' WHERE MATCH(obj1.titre,obj1.titre,obj1.texte,obj1.descriptif) AGAINST ('b2esis@gmail.com*' IN BOOLEAN MODE) > 0 ORDER BY score DESC LIMIT 100 ) AS o1 ON o1.id_objet=t.id_auteur WHERE ((MATCH(t.nom) AGAINST ('b2esis@gmail.com*' IN BOOLEAN MODE)) OR (MATCH(t.nom,t.bio,t.email,t.nom_site,t.url_site) AGAINST ('b2esis@gmail.com*' IN BOOLEAN MODE)) OR (o1.score IS NOT NULL)) GROUP BY t.id_auteur ORDER BY score DESC LIMIT 0,500
  • File ..../4.4/07/spip/plugins/plugins/fulltext/inc/recherche_to_array.php inc_recherche_to_array_dist(){ sql_select(); }
  • Line 368

C'est bizarre le $end dans le message d'erreur. On dirait un marqueur utilisé par php en interne. Et du coup c'est comme si @ était aussi, ici, pris pour un marqueur spécial.

Modification effectuée par JLuc