上述の取得するデータが無い場合も併読してください。基本処理は、次のような形になります。切断$dbh->disconnect();$resultには、取得したレコードが格納されます。undefが返ります。リファレンスDBIのクラスメンバに関するリファレンスです。DBIのクラスメソッドDBI->で使用するメソッドです。connectデータベースに接続します。デフォルト値を変更することができます。});$data_sourceパラメータの中で接続属性の値を定義することもできます。dbi:DriverName(PrintError=>0,Taint=>1):...この方法で指定された値は、%attrパラメータで指定された値より優先されます。FB/IBに接続する場合に指定する接続パラメータは次のようになっています。必須項目はデータベース名のみです。程度での使用が多いでしょう。セミコロンで区切ります。次のような形になります。DBI->connect("dbi:InterBase:dbname=$dbname","sysdba","masterkey");マルチラインでの指定も可能です。"DSN";dbi:InterBase:dbname=$dbname;host=$host;port=$port;ib_dialect=$dialect;ib_role=$role;ib_charset=$charset;ib_cache=$cacheDSNリモートホストに接続する場合の接続パラメータは、例えば次のようになります。ここではデータベースパラメータに別名の"db"を使用しています。"dbi:InterBase:db=C:/temp/test.fdb;host=server.intranet";ポート番号はhostパラメータで同時に指定することも出来ます。同じパラメータが指定された場合には同じハンドルを設定します。Apache::DBIで提供される永続的な接続とは多くの点で異なります。available_drivers有効なドライバ群を取得します。DBI->available_drivers;data_sourcesDBD::InterBaseでは未実装です。DBIの動的アトリビュート$DBI::errerr参照。$DBI::errstrerrstr参照。$DBI::rowsrows参照。DBD::InterBaseでは未実装です。stateと同じです。$DBI::lasth最後のDBIメソッド呼び出しに使われたDBIオブジェクト・ハンドルを返します。ハンドルの親のハンドルを返します。全ハンドル共通のクラスメソッド全てのハンドルで使用できるメソッドです。$h->errstr;stateDBD::InterBaseでは未実装です。traceトレースの指定。DBI本体の機能です。$trace_filename);trace_msgトレースメッセージ。DBI本体の機能です。$h->trace_msg($message_text);funcDBDの機能呼び出し。DBD:InterBaseではトランザクション関係で使用します。詳細は、トランザクションを参照して下さい。全ハンドル共通のアトリビュートWarn論理型です。DBI本体の機能です。Active読込み専用の論理型です。アクティブ状態であることを示します。データベースに接続中であることを示します。Kids読込み専用の論理型です。DBI本体の機能です。「子」のハンドル数を示します。ステートメントハンドルの数です。ActiveKids読込み専用の論理型です。DBI本体の機能です。CachedKidsハッシュで、DBI本体の機能です。「子」のハンドルに関するキャッシュです。prepareに関するキャッシュなどです。CompatMode読込み専用の論理型です。DBD:InterBaseでは意味がありません。InactiveDestroy論理型で、DBI本体の機能です。新プロセスでハンドルを破棄しないように設定します。PrintError論理型で、DBI本体の機能です。エラーを詳細に報告するかを設定します。デフォルトはTRUEです。RaiseError論理型で、DBI本体の機能です。エラーを例外で発生させるかを設定します。デフォルトはFALSEです。ChopBlanks論理型で、DBI本体の機能です。CHARなどの固定幅項目のスペースに対するトリミング動作を設定します。デフォルトはFALSEです。LongReadLen整数型で、DBI本体の機能です。BLOBでの取り扱い最大長を制御します。デフォルトは80です。これに0を設定すると、BLOBのデータが取得できません。LongTruncOk論理型で、DBI本体の機能です。FALSEにすると、設定値よりも大きいBLOBを取得すると失敗します。デフォルトはFALSEです。Taint論理型で、DBI本体の機能です。Taintモードに設定します。データベースハンドルのメソッドDBI->connectで取得したデータベースハンドルで使用するメソッドです。fetchrow_arrayの3メソッドの処理を一度に行います。fetchall_arrayrefの3メソッドの処理を一度に行います。取り出されたデータ各行の配列へのリファレンスが入った配列へのリファレンスを返します。executeを行い、全ての行の特定のカラムを取り出します。各行の最初のカラムの値が入った配列へのリファレンスを返します。@bind_values);prepareSQL文実行の準備を行います。ときにコミットされます。prepare_cachedキャッシングが行われる以外はprepareと同様です。DBI本体の機能です。アプリケーションによっては問題を起こすことがありますので注意が必要です。do1ステートメントをprepareし、executeします。成功ならば影響を受けた行数を、エラーであればundefを返します。行数が不明の場合は-1を返します。@bind_values);SELECT文で使用した場合は結果が受取れません。commitコミットを行います。トランザクションを参照して下さい。$dbh->commit;rollbackロールバックを行います。トランザクションを参照して下さい。$dbh->disconnect;pingデータベースハンドルが有効か検証します。$dbh->ping;table_infoテーブルの情報を取得するためのステータスハンドルを取得します。$dbh->table_info;tablesテーブルの名前のリストを返します。$dbh->tables;type_info_all使用できるデータ型の情報を返します。$dbh->type_info_all;type_infoデータ型の情報を返します。DBI本体の機能です。$dbh->type_info($data_type);quoteクォーテーション文字を変更します。DBI本体の機能です。$data_type);データベースハンドルのアトリビュートDBI->connectで取得したデータベースハンドルで使用するアトリビュートです。AutoCommit論理型です。InterBaseの場合、ON(TRUE)ならば暗黙的なトランザクションが使用されます。詳しくはトランザクションを参照して下さい。Driver親ドライバのハンドルを保持します。NameDBD::InterBaseでは未実装です。RowCacheSizeDBIには実装されていますが、DBD::InterBaseでは使用していません。ib_softcommit論理型です。DBD::InterBase独自の機能です。ソフトコミット機能を有効にします。されたレコードを更新し、参照などでロックされているアクセスを許可します。デフォルトではFALSEになっています。実行できる場合があります。ハードコミットされます。ステートメントハンドルのメソッドbind_param変数を、prepareされたSQL文に埋め込まれたプレースホルダに関連付けます。プレースホルダは疑問符(?)により示されます。prepare後に使用します。bind_param_inoutDBD::InterBaseでは未実装です。executerepareで準備されたSQL文を実行します。$sth->execute(@bind_values)fetchrow_arrayref次の行を取り出し、フィールドの値をもった配列へのリファレンスを返します。NULLフィールドはundefとなります。fetchという別名も使用できます。無いかエラーの場合、undefを返します。$sth->fetch;fetchrow_arrayfetchrow_arrayrefと同じですが、配列そのものを返します。$sth->fetchrow_array;fetchrow_hashreffetchrow_arrayrefと同じですが、結果をハッシュで返します。$sth->fetchrow_hashref($name);fetchall_arrayrefDBI本体の機能です。すべてデータを取り出します。リファレンスを返します。取り出しは行われないことを示します。$sth->finish;rows最後のコマンドにより影響を受けた行数を返します。場合は、-1になります。$sth->rows;SELECT文の場合は、今までの処理で取得した行数が格納されます。bind_columnsも参照して下さい。番号は1から数えます。結果が変数に直接コピーされるため、処理高速化のために非常に有効です。結果が変数に直接コピーされるため、処理高速化のために非常に有効です。変数の数とSQLで取り出す列の数が一致していないと、dieとなります。@list_of_refs_to_vars_to_bind);dump_resultsDBI本体の機能です。結果をダンプ出力します。デバッグ時などの簡易テスト用です。$fh);ステートメントハンドルのアトリビュートNUM_OF_FIELDS整数型で読込み専用です。DBI本体の機能です。準備されたSQL文の列数(カラム数)を示します。SELECT文以外は0になります。NUM_OF_PARAMS整数型で読込み専用です。DBI本体の機能です。準備されたSQL文のプレースホルダ('?')数を示します。NAME配列へのリファレンスで読込み専用です。各列に対応するフィールド名の配列へのリファレンスを返します。(大文字/小文字)は実装に依存します。FBでは大文字固定かな?NAME_lc配列へのリファレンスで読込み専用です。DBI本体の機能です。各列に対応するフィールド名の配列へのリファレンスを返します。表現はかならず小文字になります。NAME_uc配列へのリファレンスで読込み専用です。DBI本体の機能です。各列に対応するフィールド名の配列へのリファレンスを返します。表現はかならず大文字になります。TYPE配列へのリファレンスで読込み専用です。各列に対応した、整数値の配列へのリファレンスを返します。値は対応する列のデータ型を示します。IB/FB特有のデータタイプとなります。PRECISION配列へのリファレンスで読込み専用です。各列の数値が格納されます。SCALE配列へのリファレンスで読込み専用です。各列に対応した整数値が格納されます。適用されないことを示します。NULLABLE配列へのリファレンスで読込み専用です。各列にNULLを設定出来るかを示します。(0:不可,1:可,2:不明)CursorName文字列で読込み専用です。カーソル名が、可能な限りにおいて格納されます。Statement文字列で読込み専用です。prepare()で渡された文を保持します。RowCache整数型で読込み専用です。DBI本体の機能です。DBD::InterBaseでは未実装です。ドライバ特有の事項トランザクショントランザクションの動作は、AutoCommitの設定により制御されます。明示的に呼び出したcommit()やrollback()は拒否されます。ロールバックされます。