#1 2025-03-01 16:38:33

Nizoux07
Membre
2025-03-01
14

Warning: [mysql error 1064]

Bonjour,

Je reprend l'utilisation de ma galerie "lesphotosdejean.fr" après une longue inactivité... Clicquer sur certaines photos (dans les sous domaines) provoque cette erreur systématique :

Warning:  [mysql error 1064] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ASC' at line 7

SELECT DISTINCT(image_id)
  FROM piwigo_image_category
    INNER JOIN piwigo_images ON id = image_id
  WHERE
    category_id = 150
AND (category_id NOT IN (134))
   ORDER BY rank ASC
; in /home/lesphotoz/www/include/dblayer/functions_mysqli.inc.php on line 847


Fatal error: Uncaught Error: Call to a member function fetch_assoc() on bool in /home/lesphotoz/www/include/dblayer/functions_mysqli.inc.php:908 Stack trace: #0 /home/lesphotoz/www/include/section_init.inc.php(317): query2array('\nSELECT DISTINC...', NULL, 'image_id') #1 /home/lesphotoz/www/index.php(12): include('/home/lesphotoz...') #2 {main} thrown in /home/lesphotoz/www/include/dblayer/functions_mysqli.inc.php on line 908

J'ai installé la dernière version automatiquement (15.4.0) après une installation manuelle de 15.3.0 sur une version 12. Je suis hébergé par OVH sous une vieille formule perso;

Version de Piwigo: 15.4.0
Version de PHP: 7.4 (j'ai essayé 8.2 sans effet...)
Version de MySQL: 8.0 (non modifiable avec ma formule.
URL Piwigo: http://lesphotosdejean.fr

Je ne sais plus quoi faire et, désolé, mes compétences techniques sont assez faibles...

D'avance merci pour votre aide.

Jean

Hors ligne

#2 2025-03-02 06:47:19

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
17144

Re: Warning: [mysql error 1064]

Bonjour

En 1 je passerait en php 8 et je téléchargerais manuellement la dernière version de piwigo que je renverrais pas FTP


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#3 2025-03-02 13:26:07

Nizoux
Invité

Re: Warning: [mysql error 1064]

Merci pour ton aide (ce n'est pas la première fois...).
Je suis passé à php8 et fait un nouveau transfert par FTP en suivant les consignes, sans résultat toutefois.
Jean

#4 2025-03-29 16:10:23

Nizoux07
Membre
2025-03-01
14

Re: Warning: [mysql error 1064]

Je suis toujours en rade...
Je ne sais pas quoi faire. J'ai désactivé les quelques plugins basiques (local files editor ou autres) sans résultats.
Désolé de perdre le fruit de très, très nombreuses heures de travail pour la mise en ligne et les légendes de milliers de photos désormais inaccessibles.

Hors ligne

#5 2025-03-29 16:53:18

lexi
Membre
2021-03-10
52

Re: Warning: [mysql error 1064]

Ton erreur fatal t'indique si on remet un peu plus en forme dont il ne faut pas hésiter si cela peut aider :

Code:

Fatal error: Uncaught Error: Call to a member function fetch_assoc() on bool in /home/lesphotoz/www/include/dblayer/functions_mysqli.inc.php:908 

Stack trace: 
#0 /home/lesphotoz/www/include/section_init.inc.php(317): query2array('\nSELECT DISTINC...', NULL, 'image_id') 
#1 /home/lesphotoz/www/index.php(12): include('/home/lesphotoz...') 
#2 {main} thrown in /home/lesphotoz/www/include/dblayer/functions_mysqli.inc.php on line 908

On voit bien que ton erreur provient de ton fichier /home/lesphotoz/www/include/section_init.inc.php à la ligne 317


Qui correspondrait à ce bout de code :

Code:

   // main query
$query = '
SELECT DISTINCT(image_id)
  FROM '.IMAGE_CATEGORY_TABLE.'
    INNER JOIN '.IMAGES_TABLE.' ON id = image_id
  WHERE
    '.$where_sql.'
'.$forbidden.'
  '.$conf['order_by'].'
;';

      $page['items'] = query2array($query,null, 'image_id');
      
      if ( isset($cache_key) )
        $persistent_cache->set($cache_key, $page['items']);
    }
  }
}

Et quand on regarde de plus près la ligne 317, cela correspond à cette ligne

Code:

query2array($query,null, 'image_id');

Et si on remonte un peu le cheminement, cette fonction utilise 3 paramètres :
- $query
- null
- 'image_id'

Cette fonction ne fonctionne plus comme il faut. Il s'agit d'un des paramètres et on s'aperçoit que le seul paramètre qui peut varier est : "$query" qui est une variable.
C'est-à-dire qui change de valeur…

Et quand on remonte un peu plus haut dans le bout de code que j'ai cité, on s'aperçoit que cette variable prend comme valeur une longue chaine de caractère qui correspond à requête SQL


Code:

$query = '
SELECT DISTINCT(image_id)
  FROM '.IMAGE_CATEGORY_TABLE.'
    INNER JOIN '.IMAGES_TABLE.' ON id = image_id
  WHERE
    '.$where_sql.'
'.$forbidden.'
  '.$conf['order_by'].'
;';

Et la variable $query prend comme valeur cette chaine de caractère mais celle-ci est constitué elle-même d'autres variables :
'.$where_sql.'


Ce sont tes requêtes SQL qui semblerait ne plus fonctionner pour une raison que j'ignore.
Et ce sont tes requêtes qui s'affichent dans tes messages d'erreur et les variables (comme .$where_sql) sont transposées avec les valeurs.


Il faudrait que tu puisses en exécuter une pour voir pour voir si ta requête fonctionne correctement sur la machine depuis ton serveur/hébergeur.
Je ne sais pas quel moyen, tu as peut être un phpmyadmin  qui est une interface Web permettant d'accéder à ta base de donnée et d'y executer des requêtes SQL.


c'est sous cet angle que j'aurais mené mon investigation. Mais ce n'est peut-être pas la bonne manière. Mon idée était avant de t'apprendre à pécher. :)


PS : "$query", "$ŵhere_sql" sont des variables, car précédé d'un "$". Et une variable prends une valeur que l'on lui affecte à l'aide du "="


Piwigo 11.5.0
PHP: 7.4.21
Base de donnée: 5.5.5-10.5.11-MariaDB-1 [2021-10-15 11:35:03]
Graphics Library: GD 2.3.0

Hors ligne

#6 2025-03-29 20:35:35

Nizoux07
Membre
2025-03-01
14

Re: Warning: [mysql error 1064]

Merci d'essayer de m'instruire avec patience et gentillesse...
Je comprends le raisonnement mais c'est aussi malheureusement totalement hors de ma portée d'aller plus loin, même si j'ai un peu de culture informatique désormais totalement obsolète.
Je n'ai apporté aucune modification au code Piwigo et je suis en hébergement tout à fait standard chez OVH. D'autres doivent avoir le même problème !

Hors ligne

#7 2025-03-30 07:49:20

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
17144

Re: Warning: [mysql error 1064]

Bonjour,

1/ en admin check upload pour vérifier que toute les photos existent

2/ quelques chose de particulier en config local ?


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#8 2025-03-30 09:52:01

Nizoux07
Membre
2025-03-01
14

Re: Warning: [mysql error 1064]

Bonjour ddtddt,
Je ne sais pas comment faire le check upload sous admin. J'ai juste fait tout ce que Outils Maintenance me permettait de faire, sans résultat.
Ma galerie fonctionne depuis plus de 15 ans, je pense. Je voulais la mettre à jour après l'avoir ignorée pendant plusieurs années. Après avoir constaté le problème qui ne se manifeste pas sur toutes les photos, j'ai voulu faire une mise à jour de la version. Je n'ai pu le faire que par transfert ftp. J'ai également essayé plusieurs versions de php sans résultat avant de revenir à ta préconisation (php 8).
Je n'ai pas souvenir d'avoir bricolé un fichier de configuration. Si je l'ai fait c'est il y a plusieurs années (je ne saurai plus faire...).

Hors ligne

#9 2025-03-30 14:36:52

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
17144

Re: Warning: [mysql error 1064]

Bonjour,

Version de piwigo ?

Installer [extension by plg] Check Uploads et aller dans la config du plugin


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#10 2025-03-30 14:52:13

Nizoux07
Membre
2025-03-01
14

Re: Warning: [mysql error 1064]

Je suis dans ma dernière version 15.5.0
Le check uploads me donne ça :
3744 fichiers inattendus. Les supprimer tous
2011/12/04/thumbnail/TN-20111204151527-00774bed.jpg n'est pas dans la base de données
2011/12/04/thumbnail/TN-20111204151306-d6e3308c.jpg n'est pas dans la base de données
2011/12/04/thumbnail/TN-20111204151547-36440ef8.jpg n'est pas dans la base de données
2011/12/04/thumbnail/TN-20111204151033-fd0a4ebf.jpg n'est pas dans la base de données
2011/12/04/thumbnail/TN-20111204145948-04e1d1e8.jpg n'est pas dans la base de données
2011/12/04/thumbnail/TN-20111204151247-1887e8f1.jpg n'est pas dans la base de données
2011/12/04/thumbnail/TN-20111204150927-ae8ea227.jpg n'est pas dans la base de données
2011/12/04/thumbnail/TN-20111204151208-2e792443.jpg n'est pas dans la base de données
etc....

Hors ligne

#11 2025-03-30 17:50:31

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
17144

Re: Warning: [mysql error 1064]

Bonjour

Ajout des fichier par FTP ou via l'interface web ?

la c'est des fichier miniature comme il était ajouté avant il y a très longtemps


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#12 2025-03-30 18:00:27

Nizoux07
Membre
2025-03-01
14

Re: Warning: [mysql error 1064]

Hum, FTP et web je pense. Via Lightroom pour les plus récentes

Hors ligne

#13 2025-03-31 06:14:19

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
17144

Re: Warning: [mysql error 1064]

Bonjour

1/ sauvegarde des fichier par FTP

2/ suppression via check upload

3/ renvoi des fichier de piwigo par FTP


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#14 2025-03-31 06:41:28

Nizoux07
Membre
2025-03-01
14

Re: Warning: [mysql error 1064]

Tu parles bien des 3744 fichiers inattendus ? Et je les remets dans le même répertoire ou je réinstalle Piwigo ?

Hors ligne

#15 2025-03-31 07:51:17

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
17144

Re: Warning: [mysql error 1064]

Bonjour

Nizoux07 a écrit:

Tu parles bien des 3744 fichiers inattendus ? Et je les remets dans le même répertoire ou je réinstalle Piwigo ?

Non tu les sauvegardes par FTP sur ton ordi puis tu clic sur supprimé dans check upload

tu ne réinstalle pas piwigo tu renvoi par FTP les fichier de l'archive en écrasant ceux existant


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

Pied de page des forums

Propulsé par FluxBB

github linkedin newsletter Piwigo.org © 2002-2025 · Contact