(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
]]] ) : boolストアドプロシージャまたはリモートストアドプロシージャへパラメータをバインドします。
stmtmssql_init() で取得したステートメントリソース。
param_nameパラメータ名を表す文字列。
注意:
T-SQL 構文のように @ 文字を含めなければなりません。 mssql_execute() にある例を参照ください。
varMSSQL パラメータとしてバインドする 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);
?>