(PHP 4 >= 4.0.7, PHP 5, PECL odbtp >= 1.1.1)
mssql_bind — ストアドプロシージャまたはリモートストアドプロシージャへパラメータを追加する
この関数は PHP 7.0.0 で 削除 されました。
この関数の代替として、これらが使えます。
$stmt
, string $param_name
, mixed &$var
, int $type
[, bool $is_output
= false
[, bool $is_null
= false
[, int $maxlen
= -1
]]] )ストアドプロシージャまたはリモートストアドプロシージャへパラメータをバインドします。
stmt
mssql_init() で取得したステートメントリソース。
param_name
パラメータ名を表す文字列。
注意:
T-SQL 構文のように @ 文字を含めなければなりません。 mssql_execute() にある例を参照ください。
var
MSSQL パラメータとしてバインドする PHP 変数。 値渡し、参照渡しのどちらも可能です。実行後に OUTPUT や RETVAL を取得するには参照渡しとします。
type
SQLTEXT
,
SQLVARCHAR
, SQLCHAR
,
SQLINT1
, SQLINT2
,
SQLINT4
, SQLBIT
,
SQLFLT4
, SQLFLT8
,
SQLFLTN
のいずれか。
is_output
値が OUTPUT パラメータであるかどうか。OUTPUT パラメータであることに気づかなかった場合、それは通常の INPUT パラメータとして扱われ、エラーは発生しません。
is_null
パラメータが NULL
かどうか。NULL
値を
var
に渡しても正しく動作しません。
maxlen
char/varchar 値で使用します。データの長さを指定する必要があります。
たとえばパラメータが varchar(50) の場合、型は
SQLVARCHAR
で、この値が
50 となります。
成功した場合に TRUE
を、失敗した場合に FALSE
を返します。
例1 mssql_bind() の例
<?php
// MSSQL に接続し、データベースを選択します
mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');
// 新しいストアドプロシージャを作成します
$stmt = mssql_init('NewUserRecord');
// フィールド名をバインドします
mssql_bind($stmt, '@username', 'Kalle', SQLVARCHAR, false, false, 60);
mssql_bind($stmt, '@name', 'Kalle', SQLVARCHAR, false, false, 60);
mssql_bind($stmt, '@age', 19, SQLINT1, false, false, 3);
// 実行します
mssql_execute($stmt);
// ステートメントを開放します
mssql_free_statement($stmt);
?>