[英]PHP MySQL search not returning results
我创建了一个php搜索脚本来搜索MySQL数据库,但没有搜索返回结果。
表格代码
<form method="post" action="search.php">
<input type="text" value="Search..." name="query" />
<input type="submit" value="Find" name="completedsearch" />
</form>
PHP脚本
<?php
if(isset($_POST['completedsearch']))
{
$term = $_POST['query'];
$mysql = mysql_connect("localhost","searchuser","password");
mysql_select_db("hcsd");
$qu = mysql_query("SELECT * FROM your_table WHERE COMPANY LIKE '%{$term}%' OR LOCATION LIKE '%{$term}%' OR KEYWORDS LIKE '%{$term}%' OR PRODUCTSSERVICES LIKE '%{$term}%' ");
echo "
<th>Name</th>
<th>Location</th>
<th>Products/Services</th>
";
while($row = mysql_fetch_array($qu))
{
echo "<tr><td>";
echo $row['COMPANY'];
echo "</td>";
echo "<td>";
echo $row['LOCATION'];
echo "</td>";
echo "<td>";
echo $row['PRODUCTSSERVICES'];
echo "</tr></td>";
}
}
?>
MySQL数据库有4列,标题为COMPANY,LOCATION,KEYWORDS和PRODUCTSSERVICES,此脚本应搜索搜索词的任何列,然后显示表中任何匹配行的COMPANY,LOCATION和PRODUCTSSERVICES,甚至使用搜索条件我知道100%在MySQL表中,我仍然没有收到任何结果。
我不确定花括号在这里有帮助......
更换
$qu = mysql_query("SELECT * FROM your_table WHERE COMPANY LIKE '%{$term}%' OR LOCATION LIKE '%{$term}%' OR KEYWORDS LIKE '%{$term}%' OR PRODUCTSSERVICES LIKE '%{$term}%' ");
同
$qu = mysql_query("SELECT * FROM your_table WHERE COMPANY LIKE '%".$term."%' OR LOCATION LIKE '%".$term."%' OR KEYWORDS LIKE '%".$term."%' OR PRODUCTSSERVICES LIKE '%".$term."%'");
你也应该逃避输入
$qu = mysql_query("SELECT * FROM your_table WHERE COMPANY LIKE '%".mysql_real_escape_string($term)."%' OR LOCATION LIKE '%".mysql_real_escape_string($term)."%' OR KEYWORDS LIKE '%".mysql_real_escape_string($term)."%' OR PRODUCTSSERVICES LIKE '%".mysql_real_escape_string($term)."%'");
还要考虑使用更新的mysqli_函数
你桌子的名字是什么?
您应该在phpmyadmin或用于管理数据库的任何软件中尝试您的请求并查看结果。 如果不是结果,则您的请求中可能存在错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.