Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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 API的结果集中找到字段的源数据库名称?_Php_Mysql_Mysqli - Fatal编程技术网

如何在PHP/MySQL API的结果集中找到字段的源数据库名称?

如何在PHP/MySQL API的结果集中找到字段的源数据库名称?,php,mysql,mysqli,Php,Mysql,Mysqli,我必须从字段所在的位置找到数据库名称 在MySQL C API中,可以使用API检索数据库名称。它返回包含char*db的结构 但我找不到任何东西来实现这一点。的PHP版本没有数据库信息。你知道我该怎么做吗 我还想为mysqli提供一个解决方案。Hmmm,您可以编写一个函数来进行搜索,但这将相当复杂: 首先使用mysql\u fetch\u field查找字段的父表,然后 运行SQL“”以获取所用连接的数据库列表: SHOW {DATABASES | SCHEMAS} [LIKE 'pa

我必须从字段所在的位置找到数据库名称

在MySQL C API中,可以使用API检索数据库名称。它返回包含char*db的结构

但我找不到任何东西来实现这一点。的PHP版本没有数据库信息。你知道我该怎么做吗


我还想为mysqli提供一个解决方案。

Hmmm,您可以编写一个函数来进行搜索,但这将相当复杂:

首先使用
mysql\u fetch\u field
查找字段的父表,然后

运行SQL“”以获取所用连接的数据库列表:

SHOW {DATABASES | SCHEMAS}
    [LIKE 'pattern' | WHERE expr]
使用PHP循环遍历每个数据库,对于每个数据库,运行SQL以:

如果发现该表的名称与
mysql\u fetch\u field
提供的名称相同,则作为防止重复的额外保护,请使用查看该表是否包含预期字段

{DESCRIBE | DESC} tbl_name [col_name | wild]

如果你找到了匹配项,你就有了数据库。它不是傻瓜式的,但对于大多数部署来说应该相当健壮。

实际上,我需要一种解决方案,其中有两个具有相同表名的数据库。
{DESCRIBE | DESC} tbl_name [col_name | wild]