Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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
使用mysql和php查找存储数据的表的名称_Php_Mysql - Fatal编程技术网

使用mysql和php查找存储数据的表的名称

使用mysql和php查找存储数据的表的名称,php,mysql,Php,Mysql,我有一个数据库,有8个表,打算通过连接它们来搜索id号,但我想检索表名,以便在php中使用,方法如下 if($tablename == 'accounts'){ echo 'value found in accounts'; } mysql查询是什么 (我不需要连接等方面的帮助,只需要获取表名的位以及如何将其存储在$tablename中) 谢谢 'SHOW TABLES'afair,它还在mysql上使用吗?:) 如果不知道表名,如何在表中搜索数据 因此,我假设您已经知道表名,不需要

我有一个数据库,有8个表,打算通过连接它们来搜索id号,但我想检索表名,以便在php中使用,方法如下

if($tablename == 'accounts'){
     echo 'value found in accounts';
}
mysql查询是什么

(我不需要连接等方面的帮助,只需要获取表名的位以及如何将其存储在$tablename中)

谢谢


'SHOW TABLES'afair,它还在mysql上使用吗?:)

如果不知道表名,如何在表中搜索数据

因此,我假设您已经知道表名,不需要像SHOW TABLES这样的东西;例如,您有一个
其中

WHERE (table1.field LIKE '%search%' OR table2.field2 LIKE '%search%' OR ...)
一旦检索到一行,您知道它匹配,但不知道匹配发生在何处。运行八个直接查询而不是一个连接查询是不可取的

如果是这种情况,您必须用一个标志来补充所选字段,以告诉您需要什么:

SELECT ..., CASE
    WHEN accounts.field1 LIKE '%search%' THEN 'accounts'
    WHEN customers.name LIKE '%search%' THEN 'customers'
    ...
    END AS wtf FROM <rest of your query>

分别从每个表中选择,检查哪些表包含您需要的数据want@slugonamission当前位置他想要表的名称。哎呀,我将其解释为包含他想要的行的表。见鬼,那不是他想要的asked@xception:那正是他问的。我想他也是这么问的。真有意思,听起来完全不同,我想是时候睡一觉了……嗨,我知道表的名称,我希望查询返回在Hanks中找到值的表的名称,它达到了要求的结果
SELECT ..., CASE
    WHEN accounts.field1 LIKE '%search%' THEN 'accounts'
    WHEN customers.name LIKE '%search%' THEN 'customers'
    ...
    END AS wtf FROM <rest of your query>
print "Value found in {$row['wtf']}";