web-dev-qa-db-fra.com

Le paramètre doit être un tableau ou un objet implémentant Countable dans phpmyadmin.

Lorsque j'essaie d'afficher la table wp_posts dans phpmyadmin, je vois ce message d'erreur, mais je ne sais pas ce que cela signifie et je ne l'ai jamais vu auparavant.

Est-ce que quelqu'un peut m'aider à essayer de m'en débarrasser?

Warning in ./libraries/sql.lib.php#613
count(): Parameter must be an array or an object that implements Countable

Backtrace

./libraries/sql.lib.php#2128: PMA_isRememberSortingOrder(array)
./libraries/sql.lib.php#2079: PMA_executeQueryAndGetQueryResponse(
array,
boolean true,
string 'afterhours',
string 'wp_posts',
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
string '',
string './themes/original/img/',
NULL,
NULL,
NULL,
string 'SELECT * FROM `wp_posts`',
NULL,
NULL,
)
./sql.php#221: PMA_executeQueryAndSendQueryResponse(
array,
boolean true,
string 'afterhours',
string 'wp_posts',
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
string '',
string './themes/original/img/',
NULL,
NULL,
NULL,
string 'SELECT * FROM `wp_posts`',
NULL,
NULL,
)
6
Lee

Cela semble être un doublon de phpmyadmin - count (): le paramètre doit être un tableau ou un objet qui implémente Countable .

Selon la réponse principale sur le message lié, il semble qu'une erreur dans le fichier ./libraries/sql.lib.php soit à l'origine d'une tentative de la fonction count () du code sur autre chose qu'un tableau (ou objet qui implémente "Countable"). Pour le réparer (en fonction de la réponse liée):

Editez le fichier '/usr/share/phpmyadmin/libraries/sql.lib.php' et remplacez

(count($analyzed_sql_results['select_expr'] == 1) 

Avec: 

(count($analyzed_sql_results['select_expr']) == 1

Cela fonctionne parce que:

  • count ne peut pas être exécuté sur un non-tableau (d'où votre erreur, "Parameter doit être un tableau ou un objet qui implémente Countable")
  • "== 1" dans count () est un test d'équivalence, pas un tableau
  • supprimer "== 1" de count () laisse une fonction count (array), qui fonctionne.
9
A. MacGillivray

Pensez à mettre à jour phpmyadmin et corrigez toute une série de bugs. C'est maintenant sur 4.8.2 https://www.phpmyadmin.net/news/

1
anmari