php显示报错: Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php显示报错: Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given相关的知识,希望对你有一定的参考价值。

这个错误信息是因为,你的$result中没有结果,而是一个查询失败的false返回值。
可能的原因是admin是mysql的关键字。
在sql语句的admin两边加上`这个符号,就是tab键上面,esc键下面那个键。
如果还有问题的话,请继续追问,我很乐意帮你解决这个问题。
参考技术A mysql_query()
仅对
select,show,explain

describe
语句返回一个资源标识符,如果查询执行不正确则返回
false。
可能是你的sql语句执行错误了,返回了false。
你在
$sql
=
"select
postcode
from
postcode
where
province
like
'%$_request[keyword]%'
limit
0,80";
$result
=
mysql_query($sql);
这两句之后执行一下下面两句
echo
$sql;
echo
$result;
把结果打出来,估计就能找到问题所在了

缓存_sha2_password mysql错误

【中文标题】缓存_sha2_password mysql错误【英文标题】:caching_sha2_password mysql error 【发布时间】:2018-12-30 14:01:58 【问题描述】:

当我升级我的 PHP 和 MySQL 版本时,会产生这个错误

Warning: mysqli::__construct(): The server requested authentication method unknown to the client [caching_sha2_password]
Warning: mysqli::__construct(): (HY000/2054): The server requested authentication method unknown to the client in

我正在使用这个版本:

Codeigniter : 3.1.9 
PHP         : 7.2.6
MySql       : 8.0.11

谢谢...

【问题讨论】:

【参考方案1】:

一个可能的解决方案是更改 mysql 的默认用户或 mysql 的 root 用户的身份验证插件。

只需以 root 用户身份登录 mysql 控制台(终端/phpmyadmin), 并将密码重置为

ALTER USER 'mysqlUsername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mysqlUsernamePassword';

为了安全起见,我会以这种方式更改所有现有用户的密码,

您可以通过 , 获取现有用户及其字段的列表,

use mysql ;

select * from user \G;

我从一开始就以这种方式设置 mysql 并且没有出现此类错误。

参考: php mysqli_connect: authentication method unknown to the client [caching_sha2_password]

phpMyAdmin on MySQL 8.0

【讨论】:

【参考方案2】:

是MySql的版本,8.0以后不支持caching_sha2_password插件

但是,如果无法更改它的版本,您可以尝试将其添加到您的 mysql 配置文件中,然后重新启动服务器

[mysqld]
default-authentication-plugin=mysql_native_password

【讨论】:

当我遇到这个问题时,它对我有用,注意加载的配置文件,还有更多,也许你改错了,你应该重启你的 mysql 服务器,而不是阿帕奇 我在 my.cng 文件中进行了更改【参考方案3】:

一个额外的建议:

如果问题仍然存在,请尝试以管理员身份运行 IDE。

我完成了在 *** 的几个答案中看到的所有步骤,但只有在我以管理员身份运行 PhpStorm 后,我才能成功登录。

【讨论】:

为什么以不同的权限运行 IDE 会影响代码的执行? 嗨路易斯。欢迎来到 ***。不直接回答问题的输入,例如您提出的建议,应作为 cmets 发布。 (我知道您可能没有足够的声誉立即对问题发表评论 - 但就是这样,抱歉。)

以上是关于php显示报错: Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given的主要内容,如果未能解决你的问题,请参考以下文章

警告:mysqli::__construct(): php_network_getaddresses: getaddrinfo failed: No such host is known [重复]

PHP连接Mysql数据库出现Warning: mysqli_connect(): (HY000/1045): Access denied的解决办法

PHP连接Mysql数据库出现Warning: mysqli_connect(): (HY000/1045): Access denied的解决办法

新手PHP连接MySQL数据库出问题(Warning: mysqli_connect(): (HY000/1045): Access denied for user 'root'@&#

缓存_sha2_password mysql错误

php/mysqli 论坛