我已经将备份上传到一个表中,打开该表,我会看到以下内容:
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?
发布于 2018-03-26 11:59:26
使用以下命令编辑文件/usr/share/phpmyadmin/libraries/sql.lib.php:
sudo nano +613 /usr/share/phpmyadmin/libraries/sql.lib.php在行613上,count函数的计算结果总是为true,因为在$analyzed_sql_results['select_expr']之后没有右括号。进行下面的替换可以解决这个问题,然后您需要删除行614上的最后一个右括号,因为它现在是一个额外的括号。
替换:
((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发布于 2018-05-26 03:57:11
最简单的方法:
只需在终端中运行下面的命令行,然后返回到PhpMyAdmin。
sudo sed -i "s/|\s*\((count(\$analyzed_sql_results\['select_expr'\]\)/| (\1)/g" /usr/share/phpmyadmin/libraries/sql.lib.php手动方法:
打开sql.lib.php文件
nano /usr/share/phpmyadmin/libraries/sql.lib.php在文件中查找count($analyzed_sql_results['select_expr']代码。你可以在~613行得到这个。您可以在下面的错误代码中看到这一点
|| (count($analyzed_sql_results['select_expr'] == 1)只需用以下代码替换错误代码即可
|| ((count($analyzed_sql_results['select_expr']) == 1)保存文件并转到PhpMyAdmin。
发布于 2018-03-24 18:28:28
我找到了这个
这在我的配置中非常有效:
Debian 9,
PHP 7.2.3-1+0~20180306120016.19+stretch~1.gbp81bf3b (cli) (built: Mar 6 2018 12:00:19) ( NTS )打开 /usr/share/phpmyadmin/libraries/sql.lib.php
更改行:将括号移到==之前
((count($analyzed_sql_results'select_expr‘||
) == 1) && ($analyzed_sql_results’‘select_expr’==‘*’))
在……里面
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;
}https://stackoverflow.com/questions/48001569
复制相似问题