Parameter must be an array or an object that imple

2019-06-15 14:53发布

When I try and view the wp_posts table in phpmyadmin, I see this error message, but have no idea what it means and have never seen it before.

Can someone help me try and get rid of this somehow?

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,
)

标签: sql wordpress
3条回答
Fickle 薄情
2楼-- · 2019-06-15 15:10

This appears to be a duplicate of phpmyadmin - count(): Parameter must be an array or an object that implements Countable

According to the top answer on the linked post, it looks like there may be an error in the ./libraries/sql.lib.php that is causing the code to attempt a count() function on something other than an array (or an object that implements "Countable"). To fix it (according to the linked response):

Edit file '/usr/share/phpmyadmin/libraries/sql.lib.php' and replace

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

With:

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

This works because:

  • count cannot be performed on a non-array (hence your error, "Parameter must be an array or an object that implements Countable")
  • "== 1" in count() is an equivalency test, not an array
  • removing "== 1" from count() leaves a count(array) function, which works.
查看更多
不美不萌又怎样
3楼-- · 2019-06-15 15:13

Consider updating phpmyadmin and fix a whole bunch of bugs. It's now on 4.8.2 https://www.phpmyadmin.net/news/

查看更多
对你真心纯属浪费
4楼-- · 2019-06-15 15:17

I solved the problem by validating if it really is an array using the is_array() function like this:

if (is_array($yourArray)) {
    //Your count()
}
查看更多
登录 后发表回答