【发布时间】:2012-04-15 06:29:48
【问题描述】:
我正在使用 CakePHP 框架。当返回查询结果时,框架调用“实验”PDOStatement::getColumnMeta 以在数据从数据库返回时“排列”数据。但是,根据查询的不同,结果有好有坏。
有时数据数组会按预期返回,其中所有列都与视图名称相关联。其他时候,数据混合返回,其中一些数据位于与视图对应的原始表关联的数组中。
// 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 人员讨论过这个问题。
【问题讨论】:
-
我发现这个问题与使用视图名称别名和 Where 子句问题的组合有关。 (请参阅 OP 中的错误)。仍在等待 PHP 开发人员的回复。
标签: php mysql pdo cakephp-2.1