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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.