PHP:搜索时查询为空

标签 php mysql

我需要一些帮助来解决我的问题...

场景:我试图在数据库中搜索某些内容,但结果是“查询为空”,但我尝试搜索的内容已经在我的数据库中。我正在尝试搜索“Atrium Hotel”

这是我的数据库的屏幕截图: enter image description here

这是我的结果页面的屏幕截图:

enter image description here

最后这是我的代码:

<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/

相关文章:

php - JqG​​rid 重新加载不工作

php - 使用纯 JQuery 和 PHP5 的多个文件 uploader ?

php - 用特定数字填充数组

php - 如何在PHP中执行Powershell脚本并输出结果?

php - Mysql和PHP以html列表显示所有用户数据

php - 不理解这种 isset 行为

mysql - 如何向mysql表添加动态数据

php - MySQL photo like 计数。如何存储和统计照片的数百万个赞?

mysql - 浅谈MySQL中 View 的 View 的使用效率

php - 使用 PHP 的“镜像”数据库连接