我需要一些帮助来解决我的问题...
场景:我试图在数据库中搜索某些内容,但结果是“查询为空”,但我尝试搜索的内容已经在我的数据库中。我正在尝试搜索“Atrium Hotel”
这是我的数据库的屏幕截图:
这是我的结果页面的屏幕截图:
最后这是我的代码:
<input type='submit' name='search' value='Search Building' onClick="this.form.action='search_bldg.php'; this.form.submit()">
<input type="text" id="idSearch"name="searchBldg" size="40" value="<?php echo $_POST['searchBldg']; ?>">
<fieldset width= "50px">
<legend>BUILDING/S</legend>
<?php
$search = $_POST["searchBldg"];
$data = mysql_query("SELECT * FROM tbldata WHERE fldBldgName LIKE '%$search%'");
$result = mysql_query($data) or die(mysql_error());
while($row = mysql_fetch_array( $result ))
{
echo $row['fldBldgName'];
}
?>
</fieldset>
我想知道我的查询有什么问题...... 提前致谢...
最佳答案
您正在执行查询两次(第 7 行和第 8 行)。这可能就是问题所在。尝试这样的事情:
<input type='submit' name='search' value='Search Building' onClick="this.form.action='search_bldg.php'; this.form.submit()">
<input type="text" id="idSearch"name="searchBldg" size="40" value="<?php echo $_POST['searchBldg']; ?>">
<fieldset width= "50px">
<legend>BUILDING/S</legend>
<?php
$search = $_POST["searchBldg"];
$query= "SELECT * FROM tbldata WHERE fldBldgName LIKE '%$search%'"; //Your sql
$result = mysql_query($query) or die(mysql_error()); //execute your query
while($row = mysql_fetch_array( $result ))
{
echo $row['fldBldgName'];
}
?>
</fieldset>
附注使用 mysqli_*
或 PDO
代替 mysql_*
,因为它从 PHP 5.4 开始已被弃用
关于PHP:搜索时查询为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18043507/