php - 在 PHP 中搜索数据库 从单列到所有

标签 php mysql

好的,我是新手,但这正是我需要的。我有一个代码可以搜索特定列并返回我搜索的内容,但我该如何修复此代码以搜索我的数据库中的任何内容并显示相应的行信息。

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

相关文章:

php - 十二要素应用程序声明如何应用于PHP项目?

javascript - 我需要同时使用 PHP 和 Javascript 进行计算吗?

mysql - Liquibase 主键在 H2 上创建了两次

mysql - 如何在现有的作业表设计之上设计一个关系数据库来跟踪不同类型的作业和作业状态?

mysql - 如何在MySQL中解析 "used command not allowed"?

php - 使用 php 和 mySqli 建表

php - PHP ArgumentCountError 服务器特定吗?

php - 用可变字符串替换所有子字符串实例

php - 从 PHP 中的表中获取主题

c# - 如何连接MySQL数据库?