Warning in ./libraries/sql.lib.php#613

Fehlermeldung von PhpMyAdmin in Ubuntu 18.04:

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(

Die Fehlermeldung entsteht beim Öffnen und beim Exportieren einer Tabelle mit PhpMyAdmin 4.6.6deb5 und PHP 7.2. Es ist ein Bug im Quelltext von PhpMyAdmin und zwar ist die Klammernsetzung fehlerhaft. Zur Abhilfe müssen 2 Dateien editiert werden.

sql.lib.php

vi /usr/share/phpmyadmin/libraries/sql.lib.php

In Zeile 613 die fehlende runde Klammer nach (count($analyzed_sql_results['select_expr'] hinzufügen und in Zeile 614 eine die runde Klammer am Ende löschen.

Originalcode

            || (count($analyzed_sql_results['select_expr'] == 1)
                && ($analyzed_sql_results['select_expr'][0] == '*')))

Code nach Änderung

            || (count($analyzed_sql_results['select_expr']) == 1)
                && ($analyzed_sql_results['select_expr'][0] == '*'))

plugin_interface.lib.php

vi /usr/share/phpmyadmin/libraries/plugin_interface.lib.php

In Zeile 551 bei count($options) zwischen ( und $ einfügen: (array)

Originalcode

        if ($options != null && count($options) > 0) {

Code nach Änderung

        if ($options != null && count((array)$options) > 0) {

Siehe auch