好的,我是新手,但这正是我需要的。我有一个代码可以搜索特定列并返回我搜索的内容,但我该如何修复此代码以搜索我的数据库中的任何内容并显示相应的行信息。
<?php
//PHP CODE STARTS HERE
if(isset($_GET['submit'])){
// Change the fields below as per the requirements
$db_host="localhost";
$db_username="megan";
$db_password="megan";
$db_name="megan";
$db_tb_name="user";
$db_tb_atr_name="location";
mysql_connect("$db_host","$db_username","$db_password");
mysql_select_db("$db_name");
$query=mysql_real_escape_string($_GET['query']);
$query_for_result=mysql_query("SELECT * FROM $db_tb_name WHERE
$db_tb_atr_name like '%".$query."%'");
echo "<h2>Search Results</h2><ol>";
while ($data_fetch=mysql_fetch_array($query_for_result))
{
echo "<li>";
echo substr($data_fetch[$db_tb_atr_name], 0,160);
echo "</li><hr/>";
}
echo "</ol>";
mysql_close();
}
?>
这是我的。如您所见,它当前在位置列中搜索信息。但我希望能够在任何列中搜索任何单词。目前,它将显示该关键字出现的次数,但不会显示其余的行信息。我希望这是有道理的。
最佳答案
看看这个SQLFiddle Demo .
据我所知,您可以获得的最接近的方法是对所有专栏进行 CONCAT,然后执行类似的操作。
SELECT * FROM Test WHERE CONCAT(cola,colb,colc,cold) LIKE '%keyword%'
关于php - 在 PHP 中搜索数据库 从单列到所有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11264955/