1

このクラス「データベース」を取得しました。これは PDO を拡張し、検索を実行して、次のようにすべてを完璧に見つけることができます。

public function select($sql, $array = array(), $fetchMode = PDO::FETCH_ASSOC){
    $sth = $this->prepare($sql);
    foreach ($array as $key => $value) {
        $sth->bindValue("$key", $value);
    }

    $sth->execute();
    return $sth->fetchAll($fetchMode);
}

しかし今、テーブルスキーマを取得できる関数が必要です...

PDO:cubic_schema を操作しようとしましたが、うまくいきません。定数が見つからないか、メソッドが見つからないというメッセージが表示され続けます。試してみてください...

    public function schema($table) {
    $table_information = $this->cubrid_schema(PDO::CUBRID_SCH_CLASS, $table);
    return $table_information;
}

アドバイスをいただければ幸いです。

4

1 に答える 1

6

さて、私は自分の解決策を見つけました。それは、立方体をまったく使用しないことでした....

public function schema($table) {

    $q = $this->prepare("SHOW COLUMNS FROM `$table`");
    $q->execute();
    $table_fields = $q->fetchAll();
}

これは次を返します:

Array
(
    [0] => Array
        (
            [Field] => dataid
            [0] => dataid
            [Type] => int(11)
            [1] => int(11)
            [Null] => NO
            [2] => NO
            [Key] => PRI
            [3] => PRI
            [Default] => 
            [4] => 
            [Extra] => auto_increment
            [5] => auto_increment
        )

    [1] => Array
        (
            [Field] => text
            [0] => text
            [Type] => varchar(255)
            [1] => varchar(255)
            [Null] => NO
            [2] => NO
            [Key] => 
            [3] => 
            [Default] => 
            [4] => 
            [Extra] => 
            [5] => 
        )

)
于 2013-06-07T15:36:20.713 に答える