PHP中查询mysql没有数据提示"找不到数据"时出错

用PHP查询mysql中的数据,根据条件判断数据是否存在,如果存在,则输出该符合该条件的所有数据,如果不存在,则提示找不到数据的提示,输入数据库内存在的数据,能够正常显示... 用PHP查询mysql中的数据,根据条件判断数据是否存在,如果存在,则输出该符合该条件的所有数据,如果不存在,则提示找不到数据的提示,输入数据库内存在的数据,能够正常显示,但输入的数据库不存的数据时浏览器没有任何反应.寻求大神们帮忙看下什么问题.
代码如下
<?php
session_start();
header("Content-type:text/html;charset:utf-8");
$number = $_POST['userid'];
$date = date('Y-m-d', strtotime('-3 days'));
$link = mysqli_connect('localhost','root','xyz6996!','huameidata');
if(!$link){
die("连接失败:".mysqli_connect_error());
}
$sql="SELECT * from hm_agentuser where userid=$number OR phonenumber=$number";
$num = mysqli_query($link, $sql);
if ($num){
while ($row = mysqli_fetch_array($num)){
$id = $row['userid'];
$name = $row['name'];
$phone = $row['phonenumber'];
echo "<li>" . $id ."</li>";
echo "<li>" . $name . "</li>";
//echo "<li>" . $phone . "</li>";
}
}else {
die ("找不到此号码,请重新输入!". mysqli_error($link));
}
?>
展开
 我来答
网海1书生
科技发烧友

2019-07-20 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部

当输入的号码不存在时,查询仍然是正常完成的,并不会出错,只是返回的是个空记录集,但空记录集不等于空对象,所以你简单地用 if ($num){ 来判断是否找到数据是不对的,应该判断返回的记录数量是否为零:

if($num&&mysqli_num_rows($num)>0){

此外,当输入的号码不存在时,mysqli_error($link))是没有错误信息提示的,因为我前面已经说了:这不是错误!

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式