バックアップをテーブルにアップロードしました。テーブルを開くと次のようになります。
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)
phpMyAdmin 内部...
PHP は 7.2、サーバーは Ubuntu 16.04 で、昨日インストールされました。
調べてみると、コード内にこのエラーがある人がいるようですが、phpMyAdmin でこのエラーを受け取った人は見つかりませんでした...
どうすればいいでしょうか? これは私のエラーでしょうか? phpmyadmin エラーでしょうか? アップデートを待つべきでしょうか? PHP 7.1 に戻すべきでしょうか?
ベストアンサー1
次のコマンドを使用してファイルを編集します/usr/share/phpmyadmin/libraries/sql.lib.php
。
sudo nano +613 /usr/share/phpmyadmin/libraries/sql.lib.php
613行目では、の後に閉じ括弧がないため、 count 関数は常に true と評価されます。 以下の置換を行うと、この問題が解決されます。その後、 614行目の最後の閉じ括弧は余分な括弧になったため、$analyzed_sql_results['select_expr']
削除する必要があります。
交換する:
((empty($analyzed_sql_results['select_expr']))
|| (count($analyzed_sql_results['select_expr'] == 1)
&& ($analyzed_sql_results['select_expr'][0] == '*')))
と:
((empty($analyzed_sql_results['select_expr']))
|| (count($analyzed_sql_results['select_expr']) == 1)
&& ($analyzed_sql_results['select_expr'][0] == '*'))
サーバーのApacheを再起動します。
sudo service apache2 restart