関数・クラス解説
maxdb_stmt_bind_param
maxdb_stmt::bind_paramversion:PECL maxdb >= 1.0 (公式)プリペアドステートメントに、変数をパラメータとしてバインドする
公式リファレンス
書式
maxdb_stmt_bind_param ( resource $stmt , string $types , mixed &$var1 [, mixed &$... ] ) : bool
説明
手続き型 オブジェクト指向型 maxdb_stmt::bind_param ( string $types , mixed &$var1 [, mixed &$... ] ) : bool 手続き型 (拡張構文): maxdb_stmt_bind_param ( resource $stmt , string $types , array &$var ) : bool オブジェクト指向型 (拡張構文): maxdb_stmt::bind_param ( string $types , array &$var ) : bool maxdb_stmt_bind_param() は、 maxdb_prepare() に渡された SQL 文のパラメータマーカに、 変数をバインドするために使用されます。 文字列 types にはひとつあるいは複数の文字が含まれ、 これによって対応するバインド変数の型を指定します。 maxdb_stmt_bind_param() の拡張構文では、 パラメータを、PHP の変数リストではなくひとつの配列として渡せるようになります。 maxdb_stmt_bind_param() のコール前に配列変数が使用されていない場合は、空の配列として初期化されます。 maxdb_stmt_bind_param() の拡張構文の使用法については、 例を参照ください。 SELECT INTO SQL 文の変数は、maxdb_stmt_bind_param() でバインドすることも可能です。データベースプロシージャのパラメータについては maxdb_stmt_bind_param() を使用してバインドできます。 このような場合の maxdb_stmt_bind_param() の使用法については、例を参照ください。 SQL 文の INTO 変数にバインドする変数が事前に使用されていた場合は、 その変数の内容は SELECT INTO 文のデータで上書きされます。 maxdb_stmt_bind_param() をコールした後は、 この変数への参照は無効になります。 データベースプロシージャの INOUT パラメータの場合、 バインドされた INOUT 変数の内容は、データベースプロシージャの出力で 上書きされます。 maxdb_stmt_bind_param() をコールした後は、 この変数への参照は無効になります。 型指定文字 文字 説明 i 対応する変数は integer 型です d 対応する変数は double 型です s 対応する変数は string 型です b 対応する変数は blob で、一括して送信されます
返値
成功した場合に TRUE を、失敗した場合に FALSE を返します。
サンプル
例1 オブジェクト指向型 query ("CREATE TABLE temp.mycity LIKE hotel.city");$maxdb->query ("INSERT INTO temp.mycity SELECT * FROM hotel.city");$stmt = $maxdb->prepare("INSERT INTO temp.mycity VALUES (?, ?, ?)");$stmt->bind_param('sss', $zip, $name, $state);$zip = '11111';$name = 'Georgetown';$state = 'NY';/* プリペアドステートメントを実行します */$stmt->execute();printf("%d 行挿入されました。\n", $stmt->affected_rows);/* ステートメントおよび接続を閉じます */$stmt->close();/* CountryLanguage テーブルを掃除します */$maxdb->query("DELETE FROM temp.mycity WHERE name='Georgetown'");printf("%d 行削除されました。\n", $maxdb->affected_rows);/* 接続を閉じます */$maxdb->close();?> 例2 手続き型 上の例の出力は、
たとえば以下のようになります。 1 行挿入されました。
1 行削除されました。 例3 手続き型 (SELECT INTO) 上の例の出力は、
たとえば以下のようになります。 21.600000 例4 手続き型 (DB プロシージャ) 上の例の出力は、
たとえば以下のようになります。 a 例5 オブジェクト指向型 (拡張構文) query ("CREATE TABLE temp.mycity LIKE hotel.city");$maxdb->query ("INSERT INTO temp.mycity SELECT * FROM hotel.city");$stmt = $maxdb->prepare("INSERT INTO temp.mycity VALUES (?, ?, ?)");$arr = array();$stmt->bind_param('iss', $arr);$arr[0] = 11111;$arr[1] = 'Georgetown';$arr[2] = 'NY';/* プリペアドステートメントを実行します */$stmt->execute();printf("%d 行挿入されました。\n", maxdb_stmt_affected_rows($stmt));$arr[0] = 22222;$arr[1] = 'New Orleans';$arr[2] = 'LA';/* プリペアドステートメントを実行します */$stmt->execute();printf("%d 行挿入されました。\n", $stmt->affected_rows);/* ステートメントおよび接続を閉じます */$stmt->close();$result = $maxdb->query("SELECT * from temp.mycity WHERE zip = '11111' OR zip = '22222'");if ($result) { while ($row = $result->fetch_row()) { printf ("%s %s %s\n", $row[0], $row[1], $row[2]); }}/* CountryLanguage テーブルを掃除します */$maxdb->query("DELETE FROM temp.mycity WHERE name='Georgetown'");$maxdb->query("DELETE FROM temp.mycity WHERE name='New Orleans'");printf("%d 行削除されました。\n", $maxdb->affected_rows);/* 接続を閉じます */$maxdb->close();?> 上の例の出力は、
たとえば以下のようになります。 1 行挿入されました。
1 行挿入されました。
11111 Georgetown NY
22222 New Orleans LA
2 行削除されました。
ワード検索
※入力キーワードが、関数名・説明文・タグに含まれるものを検索関数名アルファベット別
最終更新一覧
●stristr
大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却
●stripslashes
バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く
●stripos
大文字小文字を区別せずに文字列が最初に現れる位置を取得する
●stripcslashes
addcslashes() でクォートされた文字列をアンクォートする
●strip_tags
文字列から HTML と PHP のタグを除去して返却
●strcspn
指定した文字が最初に現れる位置を調べる
●strcoll
ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する
●strcmp
2つの文字列を比較し同じか(あるいは大小)を判定する
●strchr
strstr() のエイリアス
●strcasecmp
2つの文字列を比較(大文字小文字を区別せず同じとみなす)
カテゴリー一覧
PHP の振る舞いの変更
音声フォーマットの操作
認証サービス
コマンドライン関連
圧縮およびアーカイブ
暗号
データベース関連
日付および時刻関連
ファイルシステム
自然言語および文字エンコーディング
画像処理および作成
メール関連
数学
テキスト以外の MIME 型
プロセス制御
その他の基本モジュール
その他のサービス
検索エンジン用の拡張モジュール
サーバー固有のモジュール
セッション関連
テキスト処理
変数・データ型関連
ウェブサービス
Windows 用のモジュール
XML 操作
GUI用の拡張モジュール