【问题标题】:How do I add a No Results Found Message [duplicate]如何添加未找到结果消息 [重复]
【发布时间】:2017-01-16 22:01:26
【问题描述】:

在未找到结果时尝试显示消息。

<?php
mysql_connect ("localhost", "root","")  or die (mysql_error());
mysql_select_db ("test");

$term = $_POST['term'];

$sql = mysql_query("select * from testable where FName like '%$term%' or LName like '%$term%' or ID like '%$term%' ");

while ($row = mysql_fetch_array($sql)) {
    echo '<br/>First Name:'.$row['FName'];
    echo '<br/>Last Name:'.$row['LName'];
    echo '<br/>Phone:'.$row['Phone'];
    echo '<br/><br/>';
}
?>

【问题讨论】:

  • 这里如何编写答案的指南明确要求您在问题中内联发布代码。到场外资源的链接不是的替代品。请修改您的问题。谢谢。
  • mysql_* 坏,代码中的安全漏洞会让你被黑。
  • 抱歉,已修复
  • 有什么问题?
  • 警告:如果您只是学习 PHP,请不要使用mysql_query 接口。它是如此可怕和危险,以至于它在 PHP 7 中被删除。像 PDO is not hard to learn 这样的替代品和像 PHP The Right Way 这样的指南解释了最佳实践。您的用户数据不是properly escaped,有SQL injection bugs,可以被利用。

标签: php mysql


【解决方案1】:

试试这个:

  if(mysql_num_rows($sql) == 0)
    {
        echo 'No results';
    }
    else
    {
        while($row = mysql_fetch_array($sql))
        {
          //..
        }
    }

【讨论】:

  • 不,他使用的是程序风格。
  • @nogad 感谢您的提及!我会编辑
  • 谢谢@AhmadMobaraki
【解决方案2】:

你可以使用mysql_num_rows()函数,它返回返回的行数。

if( mysql_num_rows($sql) == 0) exit('No records found!');

通过上面的条件意味着有一些结果,所以可以循环遍历:

while ($row = mysql_fetch_array($sql)) {
    // print whatever you want.
}

【讨论】:

  • 不是 mysql,不是 mysqli
  • @nogad 已修复。谢谢。
  • 感谢您的评论
  • 已更新。谢谢@Makyen
猜你喜欢
  • 2013-12-25
  • 2012-05-31
  • 1970-01-01
  • 2015-10-26
  • 2013-09-24
  • 2014-09-21
  • 1970-01-01
  • 1970-01-01
  • 2020-05-14
相关资源
最近更新 更多