gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 23:40:04 26 4
gpt4 key购买 nike

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

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

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

我也想要一个mysqli的解决方案。

最佳答案

嗯,您可以编写一个函数来执行搜索 - 但它会相当复杂:

首先使用mysql_fetch_field 找到该字段的父表然后...

运行 SQL 'SHOW DATABASES ' 获取所用连接的数据库列表:

SHOW {DATABASES | SCHEMAS}
[LIKE 'pattern' | WHERE expr]

使用 PHP 遍历每个数据库,对每个数据库运行 SQL 到 show the underlying tables :

SHOW [FULL] TABLES [{FROM | IN} db_name]
[LIKE 'pattern' | WHERE expr]

如果发现表与 mysql_fetch_field 提供的名称相同,作为防止重复的额外保护,请使用 DESCRIBE查看它是否包含预期的字段

{DESCRIBE | DESC} tbl_name [col_name | wild]

如果你匹配,你就有了你的数据库。它并非万无一失,但对于大多数部署来说应该相当稳健。

关于php - 如何在 PHP/MySQL API 的结果集中查找字段的源数据库名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4145188/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com