it-swarm.com.de

phpmyadmin - count (): Der Parameter muss ein Array oder ein Objekt sein, das Countable implementiert

Ich habe das Backup in eine Tabelle hochgeladen und die Tabelle geöffnet. Ich sehe Folgendes:

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

Backtrace

./libraries/sql.lib.php#2038: PMA_isRememberSortingOrder(array)
./libraries/sql.lib.php#1984: PMA_executeQueryAndGetQueryResponse(
array,
boolean true,
string 'alternativegirls',
string 'tgp_photo',
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
string '',
string './themes/pmahomme/img/',
NULL,
NULL,
NULL,
string 'SELECT * FROM `tgp_photo`',
NULL,
NULL,
)
./sql.php#216: PMA_executeQueryAndSendQueryResponse(
array,
boolean true,
string 'alternativegirls',
string 'tgp_photo',
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
string '',
string './themes/pmahomme/img/',
NULL,
NULL,
NULL,
string 'SELECT * FROM `tgp_photo`',
NULL,
NULL,
)
./index.php#53: include(./sql.php)

In phpMyAdmin ...

PHP ist 7.2, der Server ist Ubuntu 16.04 und wurde gestern installiert.

Auf der Suche habe ich gesehen, dass einige diesen Fehler in ihrem Code haben, aber ich habe niemanden gefunden, der ihn in phpMyAdmin erhalten hat.

Was soll ich machen? Ist das mein Fehler? Ein phpmyadmin-Fehler? Update warten? Gehe ich zurück zu PHP 7.1?

217
alebal

Bearbeiten Sie die Datei /usr/share/phpmyadmin/libraries/sql.lib.php:

Sudo nano /usr/share/phpmyadmin/libraries/sql.lib.php

Ersetzen Sie: count($analyzed_sql_results['select_expr'] == 1)

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

Starten Sie den Server Apache neu:

Sudo service Apache2 restart
392
Jacky Nguyen

Einfachste Methode:

Führen Sie einfach diese Befehlszeile im Terminal aus und kehren Sie zu PhpMyAdmin zurück. Jetzt klappt das gut :)

Sudo sed -i "s/|\s*\((count(\$analyzed_sql_results\['select_expr'\]\)/| (\1)/g" /usr/share/phpmyadmin/libraries/sql.lib.php

Manuelle Methode:

Öffnen Sie die Datei sql.lib.php

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

Suchen Sie nach count($analyzed_sql_results['select_expr']-Code in der Datei. Sie können dies in Zeile ~ 613 erhalten. Sie können dies unter falschem Code sehen

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

Ersetzen Sie einfach den falschen Code durch diesen Code

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

Speichern Sie die Datei und kommen Sie zu PhpMyAdmin .

Jetzt klappt das gut :)

auf Debian getestet, sollte auf Ubuntu funktionieren:

1.) Laden Sie zuerst die neueste phpMyadmin-Datei herunter. 

2.) Löschen Sie alle Dateien der vorherigen Version, die sich im Verzeichnis /usr/share/phpmyadmin befinden, und erstellen Sie eine Sicherungskopie. 

3.) Dekomprimieren Sie im /usr/share/phpmyadmin/-Verzeichnis alle Dateien des neuesten phpmyadmin. 

4.) Ändern Sie die Datei libraries/vendor_config.php und ändern Sie die Zeile:

define('CONFIG_DIR', '');

zu 

define('CONFIG_DIR', '/etc/phpmyadmin/');

und

define('TEMP_DIR', './tmp/');

zu 

define('TEMP_DIR', '/tmp/');

5.) Apache Server neu starten und fertig.

62
shibby

Ich habe diese PHP 7.2 count () - SYNTAX-Fehler in sql.lib.php gefunden.

Das funktioniert perfekt bei meiner Konfiguration:

Debian 9, 
PHP 7.2.3-1+0~20180306120016.19+stretch~1.gbp81bf3b (cli) (built: Mar  6 2018 12:00:19) ( NTS )

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

Zeile ändern: Klammer vor == verschieben

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

im

function PMA_isRememberSortingOrder($analyzed_sql_results){

return $GLOBALS['cfg']['RememberSorting']
    && ! ($analyzed_sql_results['is_count']
        || $analyzed_sql_results['is_export']
        || $analyzed_sql_results['is_func']
        || $analyzed_sql_results['is_analyse'])
    && $analyzed_sql_results['select_from']
    && ((empty($analyzed_sql_results['select_expr']))
        || ((count($analyzed_sql_results['select_expr'] ) == 1)
            && ($analyzed_sql_results['select_expr'][0] == '*')))
    && count($analyzed_sql_results['select_tables']) == 1;
 }
52
loquace

Datei bearbeiten : '/usr/share/phpmyadmin/libraries/sql.lib.php'

Ersetzen Sie : (count($analyzed_sql_results['select_expr'] == 1)

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

das hat für mich funktioniert

29
Works on UBUNTU 18.04 


Edit file: '/usr/share/phpmyadmin/libraries/sql.lib.php'
Replace: (count($analyzed_sql_results['select_expr'] == 1)
With:  ((count($analyzed_sql_results['select_expr']) == 1)

Restart the server
Sudo service Apache2 restart
28
kaleem

phpmyadmin 4.7.4 soll "Kompatibilitätsprobleme mit PHP 7.2" behoben haben. 

Wahrscheinlich haben Sie eine ältere Version von phpmyadmin.

https://www.phpmyadmin.net/news/2017/8/24/phpmyadmin-474-released/

23

Wenn jemand einen ähnlichen Fehler in der DB-Exportseite hat (ich hatte dieses Problem in Ubuntu 18.04), dann ersetzen Sie Zeile 551 in Datei /usr/share/phpmyadmin/libraries/plugin_interface.lib.php durch Code

if ($options != null && (is_array($options) || $options instanceof Countable) && count($options) > 0) {
21
jbator

Gehen Sie bei ubuntu-18.04 wie folgt vor:

Schritt 1) ​​locate sql.lib.php

Es wird etwas zeigen wie:

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

Schritt 2) Terminal öffnen (Alt t) und schreiben:

Sudo /usr/sbin/pma-configure

Schritt 3) Sudo gedit /usr/share/phpmyadmin/libraries/sql.lib.php Und Suche unter der Funktion: 

  

 Funktion PMA_isRememberSortingOrder ($ analys_sql_results) 
 {
 return $ GLOBALS ['cfg'] ['RememberSorting'] 
 &&! ($ analysierte_sql_Ergebnisse ['is_count'] 
 || $ analysierte_sql_Ergebnisse ['is_export'] 
 || $ analysierte_sql_Ergebnisse ['is_func'] 
 || $ analysierte_sql_Ergebnisse ['is_analyse']) 
 && $ analys_sql_results ['select_from'] 
 && ((leer ($ analysierte_sql_Ergebnisse ['select_expr'])) 
 || (count ($ analysierte_sql_Ergebnisse ['select_expr'] == 1) 
 && ($ analysierte_sql_Ergebnisse ['select_expr'] [0] == '*'))) 
 && count ($ analys_sql_results ['select_tables']) == 1; 
 } 

Schritt 4) Funktion oben ersetzen durch:

 Funktion PMA_isRememberSortingOrder ($ analys_sql_results) 
 {
 return $ GLOBALS ['cfg'] ['RememberSorting'] 
 &&! ($ analysierte_sql_Ergebnisse ['is_count'] 
 || $ analysierte_sql_Ergebnisse ['is_export'] 
 || $ analysierte_sql_Ergebnisse ['is_func'] 
 || $ analysierte_sql_Ergebnisse ['is_analyse']) 
 && $ analys_sql_results ['select_from'] 
 && ((leer ($ analysierte_sql_Ergebnisse ['select_expr'])) 
 || (count ($ analysierte_sql_Ergebnisse ['select_expr']) == 1) 
 && ($ analysierte_sql_Ergebnisse ['select_expr'] [0] = = '*')) 
 && count ($ analys_sql_results ['select_tables']) == 1; 
 } 

Schritt 4) Speichern und schließen Sie die Datei und den Befehl unten am Terminal

Sudo /usr/sbin/pma-secure

Schritt 5) Sudo service mysql reload

Schritt 6) Sudo service Apache2 reload

Es funktioniert für mich ...

18
Neoark Software

Warning in ./libraries/plugin_interface.lib.php#532

count (): Parameter muss ein Array oder ein Objekt sein, das .__ implementiert. Zählbar

 count(): Parameter must be an array or an object that implements Countable

die phpmyadmin-Bibliothek versucht, einige Parameter zu zählen. In dieser Zeile 532 habe ich diesen Code in diesem Pfad gefunden.

 phpmyadmin’s library try to count some parameter

Edit File/usr/share/phpmyadmin/libraries/plugin_interface.lib.php in Zeile 532:

Sudo nano /usr/share/phpmyadmin/libraries/plugin_interface.lib.php

Suchen Sie die Zeile if ($options != null && count($options) > 0) { und ersetzen Sie count($options) durch count((array)$options).

 enter image description here

Apache-Dienst neu starten:

Sudo service Apache2 restart

In der neuen PHP-Version kann count () oder sizeof () nicht mit dem Typ un array verwendet werden. Sie müssen den Parameter hier zwangsweise in Array ändern.

13
M.A.K. Ripon

Versuchen Sie, diese Funktion in der Datei zu ersetzen: /Usr/share/phpmyadmin/libraries/sql.lib.php

function PMA_isRememberSortingOrder($analyzed_sql_results)
{
    return $GLOBALS['cfg']['RememberSorting']
        && ! ($analyzed_sql_results['is_count']
            || $analyzed_sql_results['is_export']
            || $analyzed_sql_results['is_func']
            || $analyzed_sql_results['is_analyse'])
        && $analyzed_sql_results['select_from']
        && ((empty($analyzed_sql_results['select_expr']))
            || (count($analyzed_sql_results['select_expr']) == 1)
                && ($analyzed_sql_results['select_expr'][0] == '*'))
        && count($analyzed_sql_results['select_tables']) == 1;
}
13
Oleksandr P.

Arbeite für mich ... Ubuntu 18.04

Sudo nano /usr/share/phpmyadmin/libraries/sql.lib.php

Suchen Sie nach count($analyzed_sql_results['select_expr'] Code in der Datei. Sie können dies in Zeile ~ 613 erhalten.

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

Einfach durch Code ersetzen:

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

Speichern Sie die Datei und laden Sie PhpMyAdmin neu.

Erledigt!!!

11
Ucup Timposu

Ubuntu 18.10 (Dezember 2018)

Zeile 613, 614, 615, ersetzen durch:

        || count($analyzed_sql_results['select_expr']) == 1
            && ($analyzed_sql_results['select_expr'][0] == '*'))
    && count($analyzed_sql_results['select_tables']) == 1;
10
ole

Ich denke, die beste Option ist, Phpmyadmin auf eine Version zu aktualisieren, die dies bereits behoben hat.

Bis es als Deb veröffentlicht wird, können Sie es wie in @ crimson-501 antworten tun, die ich unten kopieren werde:

  • Als ersten Schritt installieren Sie PMA (phpMyAdmin) vom offiziellen Ubuntu-Repo: apt-get install phpmyadmin.
  • Als nächstes cd in das usr/share-Verzeichnis: cd /usr/share.
  • Drittens entfernen Sie das phpmyadmin-Verzeichnis: rm -rf phpmyadmin.
  • Nun müssen wir die neueste PMA-Version auf unser System herunterladen (Beachten Sie, dass Sie wget: apt-get install wget benötigen): wget -P /usr/share/ "https://files.phpmyadmin.net/phpMyAdmin/4.8.2/phpMyAdmin-4.8.2-english.Zip" Lassen Sie mich die Argumente dieses Befehls erläutern. 17.07.18) die neueste Version von PMA. Sie finden diese Links HIER .
  • Für diesen nächsten Schritt benötigen Sie das Entpacken (apt-get install unzip): unzip phpMyAdmin-4.8.2-english.Zip. Wir haben gerade PMA entpackt, jetzt werden wir es zu seinem endgültigen Zuhause verschieben.
  • Verwenden Sie den Befehl cp (copy), um unsere Dateien zu verschieben! Beachten Sie, dass wir das Argument -r hinzufügen müssen, da dies ein Ordner ist. cp -r phpMyAdmin-4.8.2-english phpmyadmin.
  • Jetzt ist es Zeit aufzuräumen: rm -rf phpMyAdmin-4.8.2-english.

Weiter lesen!

Möglicherweise bemerken Sie jetzt zwei Fehler, nachdem Sie sich bei PMA angemeldet haben.

the configuration file now needs a secret passphrase (blowfish_secret). phpmyadmin
The $cfg['TempDir'] (./tmp/) is not accessible. phpMyAdmin is not able to cache templates and will be slow because of this.

Diese Probleme sind jedoch relativ leicht zu beheben. Für die erste Ausgabe müssen Sie lediglich den Editor Ihrer Wahl auswählen und /usr/share/phpmyadmin/config.inc.php bearbeiten. Es gibt jedoch ein Problem. Wir haben es entfernt! Das ist ok, alles was Sie tun müssen ist: cd /usr/share/phpmyadmin & cp config.sample.inc.php config.inc.php.

Beispiel für den Eintrag der phpMyAdmin Blowfish-Secret-Variablen:

/*
 * This is needed for cookie based authentication to encrypt password in
 * cookie
 */
$cfg['blowfish_secret'] = '{^QP+-(3mlHy+Gd~FE3mN{gIATs^1lX+T=KVYv{ubK*U0V'; 
/* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

Speichern und schließen Sie die Datei.

  • Jetzt erstellen wir ein tmp-Verzeichnis für PMA: mkdir tmp & chown -R www-data:www-data /usr/share/phpmyadmin/tmp. Mit dem letzten Befehl kann der Apache-Webserver das Verzeichnis tmp besitzen und dessen Inhalt bearbeiten.
9
PhoneixS

Funktioniert auf UBUNTU 16.04.3 Einfach öffnen

usr/share/libraries/sql.lib.php

ändern

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

Zu

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

8
ibrahim.suez

Bearbeiten Sie die Datei '/usr/share/phpmyadmin/libraries/sql.lib.php'. Ersetzen Sie: (Backup erstellen) 

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

Mit: 

"|| (count($analyzed_sql_results['select_expr']) == 1) 
&& ($analyzed_sql_results['select_expr'][0] == '*') 
&& (count($analyzed_sql_results['select_tables']) == 1));"
4
Roland Mester

Ich habe alle oben genannten Lösungen ausprobiert, aber bei mir nicht funktioniert.

Versuche dies:-

Installieren Sie die erforderliche Version von PHP (in meinem Fall 7.0) und geben Sie dann im Terminal Folgendes ein

Sudo update-alternatives --config php

Die Ausgabe wird folgendermaßen aussehen:

 enter image description here 

Dann können Sie zu jeder Version von PHP wechseln, indem Sie einfach die Auswahlnummer eingeben (in meinem Fall 1).

Hoffe das kann anderen helfen - :)

3
Tridev Shrestha

Aktualisieren Sie auf phpMyAdmin 4.8.3. Dies löst die Kompatibilitätsprobleme von PHP 7.2 

2
HUGO POLANCO

Ich hatte dieses Problem bei der Verwendung von Windows und die obigen Antworten lösten es für mich. Als ich jedoch zu Linux wechselte (Ubuntu 18.04 LTS), hatte ich das gleiche Problem und konnte nicht herausfinden, wie ich es lösen kann, weil ich die Datei nicht sah '/usr/share/phpmyadmin/libraries/sql.lib.php'.

Diese Datei sql.lib.php befand sich nicht im Freigabeordner oder im Ordner phpmyadmin/libraries meines/opt/lampp -Verzeichnisses - da ich xampp auf meinem ubuntu . Verwendet habe Ich habe die neueste Installation verwendet.

Die Antwort ist noch zu ersetzen: (count($analyzed_sql_results['select_expr'] == 1) 

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

Die zu suchende Datei ist jedoch Sql.php in /opt/lampp/phpmyadmin/libraries/classes/Sql.php.

Zukünftige Updates oder wenn Sie es immer noch nicht finden: Verwenden Sie grep -r 'count($analyzed_sql_results' /opt/lampp/phpmyadmin, um übereinstimmende Dokumente in Ihrem Verzeichnis zu suchen und entsprechend zu bearbeiten

2
KingNonso

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

Das habe ich in Zeile 614 geändert und phpmyadmin funktioniert fehlerfrei. Vor dem Zählen muss ein ( und vor dem ) ein == eingegeben werden. Das ist es.

1
Bikram Nath

keine dieser Lösungen hat bei mir funktioniert. Sie müssen phpmyadmin auf den neuesten Stand bringen. Befolgen Sie die Anweisungen hier

https://askubuntu.com/questions/947805/how-to-upgrade-phpmyadmin-revisited

1
jafar690

Öffnen Sie diese Datei: '/usr/share/phpmyadmin/libraries/sql.lib.php'

Sudo nano /usr/share/phpmyadmin/libraries/sql.lib.php

drücken Sie Strg + w, um zu suchen (count ($ analys_sql_results ['select_expr'] == 1)

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

Replace With:  (count($analyzed_sql_results['select_expr']) == 1)

Starten Sie den Server neu

 Sudo service Apache2 restart
1
Kundan roy

Dies ist in späteren Versionen von PHPMyAdmin behoben. Die Ubuntu-Software-Repositorys für Ubuntu 18.04.2 enthalten die Version 4.6.6.5, während sie derzeit die Version 4.9.0.1 haben. Das Aktualisieren Ihrer PHPMyAdmin-Installation behebt dieses Problem, kann sich jedoch als riskanter erweisen, als nur diese eine Codezeile zu bearbeiten. So habe ich es auf meinem Ubuntu-Server gemacht. Die Schritte sind für alle Betriebssysteme im Wesentlichen gleich (mit einem anderen Pfad).

  1. Download PHPMyAdmin .
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.0.1/phpMyAdmin-4.9.0.1-all-languages.Zip
unzip phpMyAdmin-4.9.0.1-all-languages.Zip
  1. Sichern Sie Ihre alte PHPMyAdmin-Installation.
cp -r /usr/share/phpmyadmin ~/phpmyadmin-backup
  1. Legen Sie Ihren neuen PHPMyAdmin auf Ihrem alten PHPMyAdmin ab
cd phpMyAdmin-4.9.0.1-all-languages
rm -r /usr/share/phpmyadmin/doc/html
cp -R * /usr/share/phpmyadmin/

Vergewissern Sie sich, dass es funktioniert. Wenn nicht, na ja ... Sie haben ein Backup, stellen Sie es also wieder her und bearbeiten Sie die fehlerhafte Zeile manuell. Nach meiner persönlichen Erfahrung stellte ich fest, dass die Version 4.6.6.5 nicht nur mit Fehlern durchsetzt war, sondern auch im Vergleich zur neuen Version 4.9.0.1 unglaublich langsam war. Die Geschwindigkeitssteigerung war pure Magie für etwas, was ich für "WordPress" -Qualität hielt.

1
NatoBoram

Unter Ubuntu 18.04 mit MariaDb und Nginx habe ich es mit der Aktualisierung der Datei /usr/share/phpmyadmin/libraries/sql.lib.php wie folgt gelöst:

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

Die Antwort, die von @Nguyen erwähnt wird, wirft eine 500-Fehler-Fehlermeldung ab:

FastCGI sent in stderr: "PHP message: PHP Parse error:  syntax error, unexpected ')', expecting ';' in /usr/share/phpmyadmin/libraries/sql.lib.php on line 614"
1
cwhisperer

is_countable Funktion eingeführt in (PHP 7> = 7.3.0)

is_countable - Stellen Sie sicher, dass der Inhalt einer Variablen ein zählbarer Wert ist.

benutze diese Funktion wie folgt:

is_countable ( $var )

Es wird ein boolescher Wert zurückgegeben. Weitere Informationen finden Sie unter http://php.net/manual/en/function.is-countable.php

1
Vipul

Funktion ersetzen:

function PMA_isRememberSortingOrder($analyzed_sql_results) {
return $GLOBALS['cfg']['RememberSorting']
    &&!(
        $analyzed_sql_results['is_count']
        || $analyzed_sql_results['is_export']
        || $analyzed_sql_results['is_func']
        || $analyzed_sql_results['is_analyse']
    )&&
    $analyzed_sql_results['select_from']&&
    (
        empty($analyzed_sql_results['select_expr'])||
        count($analyzed_sql_results['select_expr'])==1&&
        $analyzed_sql_results['select_expr'][0] == '*'
    )
    && count($analyzed_sql_results['select_tables']) == 1;
}
0
Arcaela

Öffnen Sie die Datei /usr/share/phpmyadmin/sql.lib.php mit erhöhten Rechten und bearbeiten Sie in der Funktion PMA_isRememberSortingOrder() Folgendes:

  1. ~ Zeile 613, um den anfänglichen Fehler zu beheben:
    • || count($analyzed_sql_results['select_expr'] == 1) ersetzen
    • Mit || (count($analyzed_sql_results['select_expr']) == 1)
  2. ~ Zeile 614, um den 500-Fehler zu beheben, der wahrscheinlich folgen wird:
    • && ($analyzed_sql_results['select_expr'][0] == '*'))) ersetzen
    • Mit && ($analyzed_sql_results['select_expr'][0] == '*'))

Starten Sie Ihren Apache-Server neu: Sudo service Apache2 restart.

Getestet auf Linux Mint 19.1 basierend auf Ubuntu 18.04, mit PhpMyAdmin 4.6.6 und PHP 7.2.

0
eka

Es ist nicht notwendig, count zu verwenden, wenn es einen Einzelwert hat oder nicht, weil dies an erster Stelle steht. Mehr darüber erfahren Sie hier http://php.net/manual/de/function.count.php

Count funktioniert jetzt nicht bei NULL, Boolean, String, Integer. Dies ist der Grund hier und Sie müssen nur die Zählung durch leer ersetzen.

Überprüfen Sie, was ich getan habe

&& ((empty($analyzed_sql_results['select_expr']))
        || (!empty($analyzed_sql_results['select_expr'])
            && ($analyzed_sql_results['select_expr'][0] == '*')))
0
Pawnesh Kumar

Bearbeiten Sie die Datei '/usr/share/phpmyadmin/libraries/sql.lib.php'. 

fehler auf Ihrem Fehler sehen

./libraries/sql.lib.php#2038: PMA_isRememberSortingOrder (array) ./libraries/sql.lib.php # 1984: PMA_executeQueryAndGetQueryResponse (

gehen Sie zu dieser Zeile und entfernen Sie den Funktionsaufruf.

Es funktioniert für mich ... Danke

0
amrit

Da der Fehler im Code in der conf-Datei variieren kann (@Jacky Nguyen vs. @ ĦΔŇĐŘΔ ŇΔҜҜΔ antwortet),
die allgemeine Lösung Antwort wäre zu
a) Korrigieren Sie die Bedingungslogik in der Conf-Datei, um einen Sinn zu ergeben
(x) oder b) korrigiertes/aktuelles phpmyadmin installieren

Wie für a)

  1. Öffnen Sie die Datei mit dem Fehlercode
    Für die Terminalmitarbeiter: Sudo nano /usr/share/phpmyadmin/libraries/sql.lib.php
    Für die normalen Leute: Sudo gedit /usr/share/phpmyadmin/libraries/sql.lib.php

  2. finden Sie die Bedingung - suchen Sie grundsätzlich nach $analyzed_sql_results['select_expr']

  3. jetzt sollte die Logik darin bestehen, zu prüfen, ob dieses Subarray leer ist oder ob es nur ein Element mit dem Wert "*" enthält.

  4. also im Grunde der Block 
    zwischen && $analyzed_sql_results['select_from']
    und && count($analyzed_sql_results['select_tables']) == 1
    sollte so aussehen

&& (
    empty($analyzed_sql_results['select_expr']) //the sub array is empty,
    || //or,
    (
        (count($analyzed_sql_results['select_expr']) == 1) //it has just 1 element
        && //and at the same time
        ($analyzed_sql_results['select_expr'][0] == '*') //the 1 element value is "*"
    )
)

Dies ist ein gutes Beispiel dafür, warum Sie Ihren Code einrücken und verschönern sollten, wenn er richtig angezeigt wird, glaube ich, dass dies niemals passieren würde oder zumindest leichter zu finden wäre.

0
jave.web

Hallo folgendes löse mein gleiches Problem absolut (Import/Export usw.):

Fix Bug Phpmyadmin [plugin_interface.lib.php] + Php7.2 + Ubuntu 16.04

also ... unter ubuntu 18.04, mysql, php7.2: Terminal:

Sudo gedit /usr/share/phpmyadmin/libraries/plugin_interface.lib.php

Finde die folgende Zeile (Strg + F): 

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

es war für mich online # 551 

und change für Folgendes:

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

ctrl + s zum Speichern der Änderungen

und im Terminal: Strg + C für zurückspringen ...

und:Sudo systemctl restart Apache2

"Ich denke in der neuen PHP-Version. Es kann nicht count () oder sizeof () mit einem un-Array-Typ verwendet werden. Das Erzwingen eines Parameters auf ein Array ist eine einfache Möglichkeit, diesen Fehler zu beheben."

Danke für den ursprünglichen Autor für die Problemlösung! Ich versuche es zu teilen!

0
Máté Kiss

In meinem Fall (Ubuntu 18.04) funktionierten die obigen Lösungen nicht. Ich habe nicht verstanden warum. Dann bemerkte ich, dass ich auch mehrere Warnmeldungen hatte. Nach einiger Untersuchung fand ich heraus, dass meine PHP Version (7.2) nicht mit meiner PHPMyAdmin-Version kompatibel ist. Also habe ich nur die spätere Version (Version 4.8.4) aufgerüstet.

0

Schauen Sie mal rein: https://devanswers.co/problem-php-7-2-phpmyadmin-warning-inlibrariessql-count/

Sichern Sie zunächst die Datei sql.lib.php, bevor Sie sie bearbeiten. Bearbeite sql.lib.php in nano.

$ Sudo nano /usr/share/phpmyadmin/libraries/sql.lib.php

Drücken Sie STRG + W und suchen Sie nach (count ($ analysed_sql_results ['select_expr'] == 1)

Ersetzen Sie es durch ((count ($ analysed_sql_results ['select_expr']) == 1)

Datei speichern und beenden. (Drücken Sie STRG + X, drücken Sie Y und dann die EINGABETASTE)

0
Messou

Für meine Version von phpmyadmin (4.6.6deb5) habe ich Zeile 613 gefunden und festgestellt, dass die Klammern count () nicht richtig geschlossen wurden. Um dies vorübergehend bis zur nächsten Version zu beheben, ändern Sie einfach Folgendes:

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

zu:

|| (count($analyzed_sql_results['select_expr']) == 1
0
J.T.