2

Propel プラグインと MySQL データベースを備えた Symfony 1.1 を使用しています。結果を取得するために、クエリを Propel 接続に渡し、executeQuery() を呼び出します。

クエリが結果をフェッチしないときに、ResultSet の列名を取得しようとしています。結果が得られたら、配列のキー名を取得するだけです。結果がない場合、getRow() は false を返すため、配列キーを取得できません。

私のクエリは、エイリアスが付けられたさまざまな列名を持つ複数のテーブルで構成されています。

Propel オブジェクトを使用している間に列名を取得する他の方法はありますか?

4

3 に答える 3

2

MySQL 用の Creole ドライバーは「従来の」MySQL 関数を使用しており、これも行うことができます。mysql_fetch_field()行が返されなかった場合でも、特定のフィールドに関する情報を取得できます。正しい結果リソースを渡すだけでよく、 のgetResource()メソッドを介して取得できますResultSet

于 2011-01-25T08:21:08.157 に答える
1
SHOW COLUMNS FROM `table_name`;
于 2011-01-24T17:37:57.297 に答える
0

それが具体的なテーブルである場合は、上記のように実行できます(SHOW COLUMNS FROM table_name;)。

ただし、複雑なクエリがある場合、1 つの解決策は、正規表現を使用して文字列を解析することです。

于 2011-01-24T18:05:28.810 に答える