我已经上传了备份到一个表,打开表我看到这个:
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?
在ubuntu-18.04上执行以下步骤:
步骤1)定位sql.lib.php
它将显示如下内容:
/usr/share/phpmyadmin/libraries/sql.lib.php
步骤2)打开终端(Alt t)并写入:
sudo /usr/sbin/pma-configure
步骤3)执行gedit /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;
}
步骤4)将上述功能替换为:
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;
}
步骤4)在终端上保存并关闭文件和以下命令
sudo /usr/sbin/pma-secure
步骤5)sudo service mysql reload
步骤6)sudo service apache2重载
这对我有用。
古德勒克
打开/usr/share/phpmyadmin/libraries/sql.lib.php
sudo nano /usr/share/phpmyadmin/libraries/sql.lib.php
按ctrl+w搜索(count($analyzed_sql_results['select_expr'] ==
1)
Find: count($analyzed_sql_results['select_expr'] == 1)
Replace With: (count($analyzed_sql_results['select_expr']) == 1)
重新启动服务器
sudo service apache2 restart
此外,如果你仍然面临同样的问题,那么就做下面的事情。
打开/usr/share/phpmyadmin/libraries/plugin_interface.lib.php文件
sudo nano /usr/share/phpmyadmin/libraries/plugin_interface.lib.php
查找:if ($options != null && count($options) > 0) {
Ctrl+w : if ($options != null && count($options) > 0) {
替换为以下代码
if ($options != null && count((array)$options) > 0) {
现在保存并重新启动服务器
sudo /etc/init.d/apache2 restart