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

Rédigé par citizenz - - 10 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

10 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  - tetel a dit :

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) ici manque une
&& ($analyzed_sql_results['select_expr'][0] == '*')) ici une de trop
&& count($analyzed_sql_results['select_tables']) == 1;
}
En fait il y a 2 erreurs de parenthèse

Répondre
#4  - tetel a dit :

Du coup je n'ai plus d'erreurs

Répondre
#5  - 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
#6  - 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
#7  - 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
#8  - 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
#9  - 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
#10  - BDSM a dit :

Thanks for every other informative web site. The place else could I get that
type of info written in such an ideal approach? I have a undertaking that
I am simply now running on, and I've been on the look out for such info.

Répondre

Fil RSS des commentaires de cet article

Écrire un commentaire

 Se rappeler de moi sur ce site
Quelle est la cinquième lettre du mot fs6xau0i ?