Bonjour à tous,
J'ai refait mon serveur ubuntu en version 22.04 avec php 7.4. (je confirme en passant que php 8.1 renvoie une foultitude de warnings deprecated).
J'ai fait la mise à jour en 12.3.0 et j'avais toujours la même erreur SQL 1064.
Après moult essais, j’ai fini par trouver. Je met la solution pour un utilisateur qui tomberait sur le même problème.
Le mot rank est un mot réservé dans la version 8 de MySQL (version par défaut sur ubuntu à partir de 20.04). L'erreur 1064 a été signalée sur github #919.
Le code a bien été corrigé et des backticks ont été ajoutées autour du mot réservé rank : `rank`.
Le problème pour nos bases piwigo est que nous n'avions jamais fixé une valeur par défaut dans l'administration pour le tri des photos : Administration > Configuration > Options > Général – Menu Ordre par défaut des photos. La valeur de ce menu était vide, et donc n'avait jamais été modifiée depuis l'installation de piwigo. La valeur en base de données était donc restée à ORDER BY rank ASC sans backticks. Il suffisait donc de changer cette valeur en ORDER BY `rank`ASC dans phpmyadmin ou de choisir une valeur dans l'administration pour que tout rentre dans l'ordre.
Table : votreprefix_config
param : order_by_inside_category
value : ORDER BY `rank`ASC
comment : default photo order inside category
Bonne continuation.
Bernard Senior
Bonjour k5,
Merci de votre réponse.
J'ai essayé de mettre à NULL le champ image_order de la table des albums (pwg_categories) de notre plus petite galerie mais j'obtiens des erreurs systématiquement. Ce qui marche c'est de mettre une valeur `rank`ou `file`. Bizarre.
En revanche, mettre à NULL ce champ de la table categories sur notre autre galerie fonctionne parfaitement ! Allez comprendre.
Je crois que je vais attendre la prochaine mise à jour pour migrer mes galeries sur Ubuntu 20.04.
Un grand merci.
Bonjour,
CREATE TABLE `piwigo_categories` (
`id` smallint(5) unsigned NOT NULL auto_increment,
`name` varchar(255) NOT NULL default '',
`id_uppercat` smallint(5) unsigned default NULL,
`comment` text,
`dir` varchar(255) default NULL,
`rank` smallint(5) unsigned default NULL,
`status` enum('public','private') NOT NULL default 'public',
`site_id` tinyint(4) unsigned default NULL,
`visible` enum('true','false') NOT NULL default 'true',
`representative_picture_id` mediumint(8) unsigned default NULL,
`uppercats` varchar(255) NOT NULL default '',
`commentable` enum('true','false') NOT NULL default 'true',
`global_rank` varchar(255) default NULL,
`image_order` varchar(128) default NULL,
`permalink` varchar(64) binary default NULL,
`lastmodified` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `categories_i3` (`permalink`),
KEY `categories_i2` (`id_uppercat`),
KEY `lastmodified` (`lastmodified`)
) ENGINE=MyISAM;
la table categories non, elle n'est pas corrompue.
si vous mettez NULL a chaque album de partout ca devrait corriger le mesage d'erreur en attendant la prochaine maj de puwigo d'ou le #1616
A tres vite
Bonjour k5,
Où en est-on ?
Pensez-vous que je puisse fixer le champ image_order à `rank` ASC sur toutes les catégories et que cela règlerait le problème ?
Est-ce que dans votre essai de nouvelle installation, ce champ a bien cette valeur pour toute création de catégorie ?
Avec mes remerciements,
Bonsoir k5,
1. La catégorie 139 s'appelle VUES AÉRIENNES
2. Il y a 8 sous-albums
3. 2 images dans l'album 139
4. Visibles sauf 2 albums en accès restreint
5. Unique compte Admin
6. Glisser-déposer
7. et 8. N'ai pas eu le temps de pointer une par une les catégories dans la bdd. Ai vu ce qui m'a paru des anomalies dans la table des catégories.
J'ai fait un test : j'ai modifié le champ image_order de NULL à `rank` ASC sur la catégorie 139. Dans la galerie, si je clique sur VUES AERIENNES, je n'ai plus l'erreur ! En revanche si je clique sur un sous-album, elle se reproduit.
Il semblerait que la table des catégories est corrompue. Comment la remettre d'aplomb !
Merci encore de votre aide.
Bonjour,
#919 je ne pense pas que ca soit lier.
Comment s'appelle la catégorie 139 ? combien y a t'il de sous album ? combien d'images sont dans l'album 139 ? sont ils visibles ou caché ? Qui a créer l'album 139 ? comment avez vous créée l'album ? comment avez vous mis les images dans l'album ou les albums ?
Qui sont ces 26 categories ? font-ils parti de la catégorie 139 ?
A tres bientôt
Bonjour k5,
Cela pourrait aussi être l'erreur #919. rank est un mot réservé depuis la version 8 de mysql. Mais cela n'expliquerait pas pourquoi l'erreur se produit sur certains albums et pas sur d'autres ; et que les nouvelles installations n'ont pas ce problème.
Je suis prêt à essayer de faire une nouvelle installation sur mon serveur Ubuntu 20.04 mais je ne voudrais pas me planter dans la récupération manuelle des data, vu le nombre de photos 30000 en tout.
Avec mes remerciements. Piwigo est un bel outil.
Bonjour,
k5 a écrit:
Bonjour,
je teste piwigo 12.2.0 avec php 7.4.3 et mysql 8.0.28
je vous tiens au courant.
A très bientôt
j'ai aucun souci sur une nouvelle installation.
Erreur de syntax Asc, peût-être ça [Github] Piwigo issue #1616
A très vite
Bonjour,
je teste piwigo 12.2.0 avec php 7.4.3 et mysql 8.0.28
je vous tiens au courant.
A très bientôt
Bonjour,
Nous utilsons 2 bases Piwigo en local, d'environ 25000 et 5000 photos. Les bases sont installées sur un serveur local Ubuntu 16.04. Tout roule parfaitement.
La mises à jour de sécurité de 16.04 étant maintenant arrêtées, je voudrais migrer sur un autre serveur local sous Ubuntu 20.04.
Voici les descriptions des 2 environnements :
• Piwigo 12.2.0 Dernière version ?
• Système d'exploitation: Linux
• PHP: 7.4.18 (Montrer les informations) [2022-03-13 14:58:34]
• MySQL: 5.7.33-0ubuntu0.16.04.1 [2022-03-13 14:58:34]
• Bibliothèque graphique: ImageMagick 6.8.9-9
• Taille du cache 1072.18 Mo calculé il y a 1 jour Rafraîchir
• Piwigo 12.2.0 Dernière version ?
• Système d'exploitation: Linux
• PHP: 7.4.3 (Montrer les informations) [2022-03-13 15:02:54]
• MySQL: 8.0.28-0ubuntu0.20.04.3 [2022-03-13 15:02:54]
• Bibliothèque graphique: GD 2.2.5
• Taille du cache 4338.75 Mo calculé il y a 1 minute Rafraîchir
J'ai procédé à la migration en créant des archives .tar.gz des installations /var/www/piwigo et en les copiant sur le nouveau serveur par scp. Les droits sont bons. J'ai exporté les bdd sur l'ancien serveur et les ai importées sur le nouveau. J'ai vérifié le fichier de config. des databases.
Les galeries fonctionnent dans le nouvel environnement mais j'ai des erreurs mysql sur certains albums, pas sur tous ! Ci-dessous, l'erreur :
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 lab_image_category
INNER JOIN lab_images ON id = image_id
WHERE
category_id = 139
AND (category_id NOT IN (205,207,65,68,69,70,71,72,73,74,75,76,77,78,79,250,229,46,216,217,178,241,237,236,211,210))
ORDER BY rank ASC
; in /var/www/labora/include/dblayer/functions_mysqli.inc.php on line 847
Fatal error: Uncaught Error: Call to a member function fetch_assoc() on bool in /var/www/labora/include/dblayer/functions_mysqli.inc.php:908 Stack trace: #0 /var/www/labora/include/section_init.inc.php(317): query2array() #1 /var/www/labora/index.php(12): include('/var/www/labora...') #2 {main} thrown in /var/www/labora/include/dblayer/functions_mysqli.inc.php on line 908
J'ai trouvé sur github/piwigo un fil de discussion signalant cette erreur, normalement corrigée depuis. Pourquoi se produit-elle maintenant et seulement sur certains albums ???
Que faire ? Faire une installation from scratch et recopier le répertoire /galleries + fichiers de config et bdd ?
Tout conseil serait le bienvenu.
Cordialement.