[NOTE] Erreur phpMyAdmin /libraries/sql.lib.php#613

Rédigé par citizenz - - 7 commentaires
Comme moi, il vous est peut-être déjà arrivé de tomber sur cette erreur de phpMyAdmin à l'ouverture d'une table :
Warning in ./libraries/sql.lib.php#613 count(): Parameter must be an array or an object that implements Countable
J'ai cherché pendant un petit bout de temps et en fait, il s'agit d'un bug de phpMyAdmin qu'il est possible de contourner en corrigeant 2 lignes :

Dans /usr/share/phpmyadmin/libraries/sql.lib.php
Rechercher
(count($analyzed_sql_results['select_expr'] == 1) 
et remplacer par
((count($analyzed_sql_results['select_expr']) == 1)

Dans /usr/share/phpmyadmin/libraries/plugin_interface.lib.php
Rechercher
if ($options != null && count($options) > 0) 
et remplacer par
if (! is_null($options) && count((array)$options) > 0) {
... et l'erreur devrait avoir disparu.

CitizenZ : Geek quadra nivernais
fan d'ovalie, de musique, de linuxeries et de Net !

À lire également

7 commentaires

#1  - PengouinPdt a dit :

Bonsoir, Olivier

Non, là, tu fais une erreur :
`((count($analyzed_sql_results['select_expr']) == 1)`
Trois parenthèses ouvrantes, deux fermantes, et tu te retrouves avec le même problème ! wink

C'est plutôt :
`(count($analyzed_sql_results['select_expr']) == 1)`

Bonne nuit ! big_smile

Répondre
#2  - citizenz a dit :

Et bien en fait, non, pas d'erreur, car voici la fonction complète :
function PMA_isRememberSortingOrder($analyzed_sql_results)
{
return $GLOBALS['cfg']['RememberSorting']
&& ! ($analyzed_sql_results['is_count']
|| $analyzed_sql_results['is_export']
|| $analyzed_sql_results['is_func']
|| $analyzed_sql_results['is_analyse'])
&& $analyzed_sql_results['select_from']
&& ((empty($analyzed_sql_results['select_expr']))
/*|| (count($analyzed_sql_results['select_expr']) == 1)*/
|| ((count($analyzed_sql_results['select_expr']) == 1)
&& ($analyzed_sql_results['select_expr'][0] == '*')))
&& count($analyzed_sql_results['select_tables']) == 1;
}

Répondre
#3  - Bruno a dit :

L'erreur est connue depuis longtemps :
https://doc.ubuntu-fr.org/phpmyadmin#incompatibilite_avec_php_72

Sinon il existe une excellente alternative : adminer

Répondre
#4  - citizenz a dit :

@Bruno merci ! J'ai cherché un peu pourtant (mal...) mais je n'avais pas trouvé cette info.
J'utilise effectivement Adminer, de plus en plus <img src="../../plugins/plxMyComSmilies/smilies/wink.png" width="15" height="15" alt="wink" />

J'avais d’ailleurs fait un petit article à ce sujet il y a déjà quelques temps : https://www.citizenz.info/gerez-vos-bases-mysql-avec-adminer

Répondre
#5  - PengouinPdt a dit :

Je vote aussi très fortement pour adminer - un seul script, un fichier capable de gérer différentes types de base de données - qui fait très bien le boulot, et qui n'a pas besoin de rester héberger, juste le temps de faire l'administration de la BD.

Répondre
#6  - max_45 a dit :

Bonjour,
je n'arrive pas a accéder au fichier sql.lib.php, la réponse étant "-bash cd: sql.lib.php/ not a directory"
après vérification je n'est que "sql-parser"
une solution ?

Répondre
#7  - citizenz a dit :

@max_45 :
quelle est votre distribution Gnu/Linux ?
Sous Debian/Ubuntu, ouvrez une console et faites :
sudo nano /usr/share/phpmyadmin/libraries/sql.lib.php

Répondre

Fil RSS des commentaires de cet article

Écrire un commentaire

 Se rappeler de moi sur ce site
Quelle est la dernière lettre du mot tccyk ?