Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在mysql查询中获取匹配的列值_Php_Mysql_Sql Like - Fatal编程技术网

Php 在mysql查询中获取匹配的列值

Php 在mysql查询中获取匹配的列值,php,mysql,sql-like,Php,Mysql,Sql Like,我有一个这样的桌子结构: ----------------------------------------------------------------------- ID | Scifi Name | Hospital Code | Layman Language | 1 | Hysoc | CBC | torems 2 | Loreim

我有一个这样的桌子结构:

   -----------------------------------------------------------------------
   ID | Scifi Name       |       Hospital Code       |     Layman Language    |
     1 | Hysoc           |       CBC                 |  torems
    2  | Loreim          |       HCI                 |   Loreims
    -----------------------------------------------------------------------
我尝试在如下查询时匹配值:

"SELECT * FROM wp_vhh4zdnv0r_disease WHERE scifi_name like '%".$_GET['term']."%' OR hospital_code like '%".$_GET['term']."%' OR layman_language like '%".$_GET['term']."%'";

查询工作正常,但我正在尝试获取与值匹配的字段。例如,如果
term='cbc'
cbc
存在于
Hospital code
中,它只返回Hospital code?我应该如何做到这一点。php代码可能会有所帮助,但我不知道如何做到这一点。谢谢你可以使用
case
这样的语句:

$sql= "SELECT CASE WHEN scifi_name like '%".$_GET['term']."%' THEN scifi_name 
WHEN phospital_code like '%".$_GET['term']."%' THEN phospital_code
WHEN layman_language like '%".$_GET['term']."%' THEN layman_language 
END FROM wp_vhh4zdnv0r_disease";

你可以使用UNION。另外,不要忘记使用
mysqli\u real\u escape\u string()
或类似函数转义用户输入

SELECT scifi_name FROM wp_vhh4zdnv0r_disease WHERE scifi_name like '%".$_GET['term']."%' UNION SELECT hospital_code FROM wp_vhh4zdnv0r_disease WHERE hospital_code like '%".$_GET['term']."%' UNION SELECT layman_language FROM wp_vhh4zdnv0r_disease WHERE layman_language like '%".$_GET['term']."%'"

放一些虚拟数据,这样我们就可以测试otsqlfiddle@PathikVejani搜索查询可能是值有CBC或LROM等,所以你的条件不考虑。