Phpmyadmin export issue: count(): Parameter must be an array or an object that implements Countable
Solution 1
It seems we can't remove all the issues from PhpMyAdmin with PHP 7.2+. But we can remove this issue by change in one line in file libraries/plugin_interface.lib.php
file at line no 532.
Below is the screenshot for the fix.
Before fix code looks like:-
After fix code looks like:-
Above is the only fix to solve error messages in export database screen.
Solution 2
Yes if you're using phpMyAdmin version 4.6.6deb4, you'll get this error.
In my /usr/share/libraries/phpmyadmin/sql.lib.php file, on line 613 specifically, there seems to be an error in the if statement. Change
|| (count($analyzed_sql_results['select_expr'] == 1)
to this
|| ((count($analyzed_sql_results['select_expr']) == 1)
The first code line is attempting to count the result of a boolean expression with outputs a non-countable value ('false' or 'true').
After this change, the error went away.
Solution 3
After testing it on PHP 7.2.10 you need to change that line like this:
if ($options != null && count(array($options)) > 0) {
Solution 4
Ubuntu 18.04 LTS
These are the steps which worked for me. Many, many thanks to William Desportes for providing the automatic updates on their Ubuntu PPA.
Step 1 (from William Desportes post)
sudo add-apt-repository ppa:phpmyadmin/ppa
Step 2
sudo apt-get --with-new-pkgs upgrade
Step 3
sudo service mysql restart
If you have issues restarting mysql, you can also restart with the following sequence
sudo service mysql stop
sudo service mysql start
Lakhwinder Singh
Having over 8+ years of strong experience in developing web applications using open source technologies/frameworks like Laravel / CakePHP etc. Strong experience in end-to-end project management including project planning, scoping, estimation, status tracking & ensuring implementation and successful project delivery as per the agreed deadlines. Laravel Certified Developer https://exam.laravelcert.com/is/lakhwinder-singh/certified-since/2019-06-06 ==== Technical Skills & Expertise ==== PHP4, PHP5, PHP7.x with strong hold in Laravel / CakePHP / AngularJS / MongoDB / Custom Framework (MVC), NodeJS Strong hold in MySQL / Mongodb Database Administration Various API's through REST / SOAP Libraries - Social Media API's, Google MAPs, Geocoding etc 3rd Party components - Solr Search, Pusher, Elastic Search etc Building Responsive Web Applications using HTML5, CSS3, Bootstrap and jQuery.
Updated on June 05, 2022Comments
-
Lakhwinder Singh almost 2 years
I'm getting issue with PhpMyAdmin when exporting any database. It is coming every time.
Please help me if anyone has solution to resolve all these types of issues in PhpMyAdmin
-
agDev over 4 yearsThis is the correct answer. However by me the error was on line 551, not on line 532
-
Louis Charette over 4 yearsThe file path should be
/usr/share/phpmyadmin/libraries/sql.lib.php
instead of/usr/share/libraries/phpmyadmin/sql.lib.php
-
Louis Charette over 4 yearsAlso, this apply to a different error. The OP error involves
plugin_interface.lib.php
. This fix would be for an error insql.lib.php
(don't have the details) -
Md. Mohaiminul Hasan almost 4 yearsAlso you have to remove one closing parenthesis at next line.. && ($analyzed_sql_results['select_expr'][0] == '*'))
-
Yunnosch almost 3 years@LouisCharette Please note, in case you want to claim something.
-
Yunnosch almost 3 yearsHi user3673734. Turning a comment in to a proper answer is usually appreciated. Especially if you have reasons that the comment author won't (which I confirm after several months...). However, it would be nice to still notify the comment author. And also please be more verbose and explicit about what you are doing. This specific post risked being mistaken as a "Thanks." non-answer. Have fun.
-
Luca Kiebel about 2 yearsWhile this code snippet may solve the problem, it doesn't explain why or how it answers the question. Please include an explanation for your code, as that really helps to improve the quality of your post.