9

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 を使用してこれと同じ情報を取得する方法について何か提案はありますか? または、この問題に対する別の解決策はありますか?

ところで:私はすでにこれについてPHPの人々にバグを報告しました。

4

1 に答える 1

2

結局のところ、これはMySQLで現在知られているバグです:http://bugs.mysql.com/bug.php?id = 66794、執筆時点ではまだ保留中です。

于 2012-12-29T19:22:47.797 に答える