実行用に文を準備する

# odbc_prepare

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_prepare — 実行用に文を準備する

### 説明

function odbc_prepare(Odbc\Connection `$odbc`, string `$query`): Odbc\Result|false

実行用に文を準備します。 ODBC 結果オブジェクト は、この後 odbc_execute() で命令を実行する際に使用することができます。

(IBM DB2、MS SQL Server および Oracle のように) ストアドプロシージャが利用可能で、ODBC 仕様で定義されている IN、INOUT および OUT が利用できるものもあります。 しかし、Unified ODBC ドライバでは現在 IN 型のパラメータしかサポートしていません。

### パラメータ

`odbc`
  ODBC 接続オブジェクト。詳細は odbc_connect() を参照ください。
`query`

  準備するクエリ文字列。

### 戻り値

SQL コマンドの準備に成功した場合は、ODBC 結果オブジェクトを返します。 エラー時には、`false` を返します。

### 変更履歴

バージョン | 説明
--- | ---
8.4.0 | 引数 `odbc` は、Odbc\Connection クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、resource を期待していました。
8.4.0 | この関数は Odbc\Result クラスのインスタンスを返すようになりました。 これより前のバージョンでは、resource を返していました。

### 例

例1 odbc_execute() および odbc_prepare() の例

次のコードは、myproc の 3 つのパラメータがすべて IN パラメータである場合にのみ $success が `true` となります。

    <?php
    $a = 1;
    $b = 2;
    $c = 3;
    $stmt    = odbc_prepare($conn, 'CALL myproc(?,?,?)');
    $success = odbc_execute($stmt, array($a, $b, $c));
    ?>

INOUT や OUT パラメータを用いるストアドプロシージャをコールしたい場合は、 各データベース専用の拡張モジュール (たとえば Oracle なら oci8) を使うようにしましょう。

### 参考

- odbc_execute() - プリペアドステートメントを実行する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open