所以我有一个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>
答案 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函数。