10
Mar
phpmyadmin – count(): Parameter must be an array or an object that implements Countable
Comments
Edit file /usr/share/phpmyadmin/libraries/sql.lib.php
using this command:
sudo nano +613 /usr/share/phpmyadmin/libraries/sql.lib.php
On line 613 the count function always evaluates to true since there is no closing parenthesis after $analyzed_sql_results['select_expr']
. Making the below replacements resolves this, then you will need to delete the last closing parenthesis on line 614, as it’s now an extra parenthesis.
Replace:
((empty($analyzed_sql_results['select_expr']))
|| (count($analyzed_sql_results['select_expr'] == 1)
&& ($analyzed_sql_results['select_expr'][0] == '*')))
With:
((empty($analyzed_sql_results['select_expr']))
|| (count($analyzed_sql_results['select_expr']) == 1)
&& ($analyzed_sql_results['select_expr'][0] == '*'))
Restart the server apache:
sudo service apache2 restart
Using SED
sudo sed -i "s/|\s*\((count(\$analyzed_sql_results\['select_expr'\]\)/| (\1)/g" /usr/share/phpmyadmin/libraries/sql.lib.php
Manual Method
Open sql.lib.php file
nano /usr/share/phpmyadmin/libraries/sql.lib.php
Find for count($analyzed_sql_results['select_expr']
code on file. You can get this at line ~613. You can see this below wrong code
|| (count($analyzed_sql_results['select_expr'] == 1)
Just replace that wrong code with this below one
|| ((count($analyzed_sql_results['select_expr']) == 1)