odbc_execute

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

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

説明

odbc_execute(resource $statement, array $params = []): bool

odbc_prepare() で準備された命令を実行します。

パラメータ

statement

odbc_prepare() で取得した結果 ID リソース。

params

プリペアドステートメントの中のプレースホルダが、 params 内のパラメータで順に置き換えられます。 この関数をコールした際に、配列の要素は文字列に変換されます。

params の中でシングルクォートで括られたデータがある場合、 それはファイル名と解釈されます。そのファイルの内容が、 該当するプレースホルダのデータとしてデータベースサーバーに送信されます。

シングルクォートで括られたデータを純粋に文字列として使用したい場合は、 空白などの別の文字を前後に付加する必要があります。 それにより、パラメータがファイル名とみなされることがなくなります (もしこのオプションが不要なら、別の仕組み、たとえば odbc_exec() で直接クエリを実行するなどを使用する必要があります)。

戻り値

成功した場合に true を、失敗した場合に false を返します。

例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) を使うようにしましょう。

参考

関連キーワード:  実行, プリペアドステートメント, パラメータ, execute, params, prepare, データ, 関数, データベース, array