Re: Problème WHERE
tofulm <[email protected]>
| Newsgroups | gmane.comp.web.spip.devel |
|---|---|
| Message-ID | <[email protected]> |
précisions :
c'est dans le traiter d'un cvt, j'utilise :
$ajouter_document = charger_fonction('ajouter_documents', 'action');
$Tid_doc = $ajouter_document('new', $files, $objet, $id_objet, $mode);
avec $objet = 'auteur' et $id_objet = 13
En remontant les fonctions, l'erreur se situe
https://git.spip.net/spip/spip/src/branch/master/ecrire/req/mysql.php#L365
dans la fonction spip_mysql_select()
et plus précisement :
https://git.spip.net/spip/spip/src/branch/master/ecrire/req/mysql.php#L382
|calculer_mysql_expression('WHERE', $where)|
ou :
$where["JOIN-L2"][0] = '='
$where["JOIN-L2"][1] = 'L1.objet'
$where["JOIN-L2"][2] = 'sql_quote('article'
Je continue les recherche
Le 13/04/2021 à 22:08, pierre laszczak a écrit :
> Hello,
>
> Le code qui génère la requête est mal écrit ; le sql_quote devrait
> être interprété. D'après le message d'erreur on peut supposer que
> l'erreur se produit dans une boucle auteur.
> Tu n'as pas un plugin qui défini de nouveaux critères ou un bout de
> code perso dans un pipeline pre_boucle qui viendrait modifier la
> boucle auteur? (Adhérents??)
> Il peut s'agir aussi d'une coquiille dans la déclaration de
> table_jointure ou execptions_des_jointures...
>
> En ce qui concerne la relation entre les documents et les auteurs, Il
> me semble que media vérifie juste une autorisation basic d'ajout ou
> d'association sur l'objet, mais pas de cette manière.
>
> Le mar. 13 avr. 2021 à 08:13, tofulm <[email protected]
> <mailto:[email protected]>> a écrit :
>
> Bonjour,
>
> lors d'un ajout de document via l'api action/ajouter_documents, je
> tombe
> sur cette erreur mysql (dans les logs)
>
> 2021-04-13 06:02:01 127.0.0.1 (pid 509)
> ecrire/base/connect_sql.php:L170:spip_sql_erreur()::Pub:ERREUR:
> Erreur
> 1064 de mysql: You have an error in your SQL syntax; check the manual
> that corresponds to your MariaDB server version for the right
> syntax to
> use near 'sql_quote('article')) GROUP BY auteurs.id_auteur /*
> BOUCLEauteurs @ | /spip....' at line 8 in
> /home/http/www/spip33/sngpckda.spip/ecrire/public/composer.php L941
> [sql_select(),calculer_select(),objet_test_si_publie(),inc_determiner_statut_document(),document_instituer(),medias_post_edition(),minipipe(),execute_pipeline_post_edition(),pipeline(),action_ajouter_un_document_dist(),action_ajouter_documents_dist(),inc_bigform_traiter_dist(),formulaires_admin_adherent_traiter_dist(),traiter_formulaires_dynamiques(),include()]
>
> SELECT L3.id_auteur AS id_auteur
>
> FROM `spip33_sngpckda`.spip_auteurs AS `auteurs`
>
> INNER JOIN `spip33_sngpckda`.spip_auteurs_liens AS L3 ON (
> L3.id_auteur
> = auteurs.id_auteur )
>
> INNER JOIN `spip33_sngpckda`.spip_articles AS L4 ON ( L4.id_article =
> L3.id_objet AND L3.objet='article')
>
> WHERE (L4.statut = 'publie')
>
> AND NOT((auteurs.statut = '5poubelle'))
>
> AND auteurs.id_auteur=21
>
> AND ('L3.objet' '=' sql_quote('article'))
>
> GROUP BY auteurs.id_auteur
>
>
> Le problème se situe : ('L3.objet' '=' sql_quote('article'))
>
>
> Est qu'une personne aurait une idée ?
>
>
>
> --
> tofulm
>
> _______________________________________________
> liste: https://listes.rezo.net/mailman/listinfo/spip-dev
> <https://listes.rezo.net/mailman/listinfo/spip-dev>
> doc: https://www.spip.net/ <https://www.spip.net/>
> dev: https://core.spip.net/ <https://core.spip.net/>
> irc://irc.freenode.net/spip <http://irc.freenode.net/spip>
>
--
tofulm