odbc_prepare

実行用に文を準備する

説明

Odbc\Resultfalse odbc_prepare(Odbc\Connection $odbc, string $query)

実行用に文を準備します。 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 パラメータである場合にのみ $successtrue となります。

<?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