gpt4 book ai didi

php - PDOStatement::getColumnMeta 返回原始表名而不是 View 名

转载 作者:可可西里 更新时间:2023-11-01 06:30:50 24 4
gpt4 key购买 nike

我正在使用 CakePHP 框架。当返回查询结果时,框架调用“实验性”PDOStatement::getColumnMeta 以在数据从数据库返回时“排列”数据。但是,根据查询的不同,结果会有所不同。

有时数据数组会按预期返回,其中所有列都与 View 名称相关联。其他时候,返回的数据是混合的,其中一些数据位于与 View 对应的原始表关联的数组中。

// correct
Array(
[MyInstall] => Array
(
[id] => a6d1342a-7b4d-11e1-8397-60195b7d6275
[user_id] => dc038c9e-7b4b-11e1-8397-60195b7d6275
[script_id] => 057de1e0-7b48-11e1-8397-60195b7d6275
[path] =>
[url] =>
[created] => 2009-06-15 12:43:30
[version] => 3.2.1
[admin_url] => wp-admin
[name] => WordPress
[icon] => icon_WordPress.gif
)
)

//incorrect
Array(
[MyInstall] => Array
(
[id] => c71a2368-7b4d-11e1-8397-60195b7d6275
[user_id] => dc038c9e-7b4b-11e1-8397-60195b7d6275
[path] =>
[url] =>
[created] => 2011-11-07 22:26:38
[version] => 3.2.1
[admin_url] => wp-admin
)

[Script] => Array
(
[script_id] => 057de1e0-7b48-11e1-8397-60195b7d6275
[name] => WordPress
[icon] => icon_WordPress.gif
)
)

结果的构建方式来自 PDOStatment::getColumnMeta 的结果。以下是 getColumnMeta 的示例结果:

Array
(
[native_type] => STRING
[pdo_type] => 2
[flags] => Array
(
[0] => not_null
)

[table] => MyInstall
[name] => id
[len] => 108
[precision] => 0
)

关于如何使用 PDO for MySQL 获取相同信息的任何建议?还是有其他解决方案来解决这个问题?

顺便说一句:我已经filed a bug与 PHP 人员一起解决这个问题。

最佳答案

事实证明,这是 MySQL 中现在已知的错误:http://bugs.mysql.com/bug.php?id=66794 ,在撰写本文时仍处于待定状态。

关于php - PDOStatement::getColumnMeta 返回原始表名而不是 View 名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9962153/

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