如果SQL在PHP中没有返回任何内容,则输出消息

时间:2016-04-09 15:25:18

标签: php mysql search

所以我有一个PHP文件,用户将搜索数据库中的问题,如果他们随机搜索某些内容(' ddwdwdwdw')等等。我希望它输出一条消息说没有被退回了。但是我遇到了一些麻烦,可能是因为我的代码设置得不是很好?

我已经尝试过:

if(mysql_num_rows($sql) < 1){
echo "blah blah blah";
} 

但它输出MySQL错误,因为sql失败(显然在这种情况下不是一件坏事)。并且它在每种类型的搜索中输出回声消息,因此它可能处于错误的位置。 感谢您的帮助,请问我是否有意义。

表格代码:

<html>
<head>
<title>Physics</title>
</head>
<body>

<p> Search for a question type. </p>
<form action = "searchingQuestions.php" method= "POST">
<select name= "Type_DROP">
Question type:
  <option value = "NULL"></option>
  <option value="SUVAT">Suvat</option>
  <option value="FORCES">Forces</option>
  <option value="WORK">Work</option>
  <option value="Energy">Energy</option>
  <option value = "ALL"> All </option>
</select>

 <br>
 <br>
 <p> Or search for a certain text.</p>
<input type = "text" name = "text_try">  
<br><br>
<p>Would you like to search through revision questions as well, check if you would like to. </p>
<input type = "checkbox" name = "checkbox" value = "value1">
<br><br>
<input type = "submit" id="submit" value="search">
<div id= "name-data"></div>





</form>



</body>
</html>

php:http://pastie.org/10791058

2 个答案:

答案 0 :(得分:2)

请在此处询问之前花点时间阅读您使用的工具和功能的文档:

http://php.net/manual/en/function.mysql-num-rows.php

它包含一个简单示例,说明如何使用该功能。简而言之:您首先必须执行查询,获取资源句柄,您需要将其作为参数移交给mysql_num_rows()函数:

<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password");
$result = mysql_query("SELECT * FROM table", $link);
$num_rows = mysql_num_rows($result);

答案 1 :(得分:0)

mysql_num_rows()期待一个mysql查询对象。试试这个:

$result = mysql_query($sql, $link);
if(mysql_num_rows($result) < 1){
   echo "blah blah blah";
}

注意:在最新的php版本中不推荐使用mysql函数,而是使用mysqli函数。