関数・クラス解説

SQLite3Stmt::bindParam

version:PHP 5 >= 5.3.0, PHP 7 (公式)

パラメータを変数にバインドする

公式リファレンス

書式

public SQLite3Stmt::bindParam ( mixed $sql_param , mixed &$param [, int $type ] ) : bool

説明

パラメータを変数にバインドします。

警告

PHP 7.2.14 と 7.3.0 より前のバージョンでは、 バインドされた値が適切に後の SQLite3Stmt::execute() の呼び出しで更新されるべき場合、 SQLite3Stmt::execute() をはじめて呼んだ後に SQLite3Stmt::reset() を呼び出さなければなりませんでした。 SQLite3Stmt::reset() が呼び出されなかった場合、 SQLite3Stmt::bindParam() に渡された変数に代入された値が変化したり、 SQLite3Stmt::bindParam() を再度呼び出したりしても、 バインドされた値は決して変わりませんでした。

パラメータ

sql_param
バインドされるべき文中の値を識別する string (名前付きパラメータの場合) または (位置パラメータの場合) int。 名前付きパラメータがコロン (:) や アットマーク (@) ではじまっていない場合、コロンが自動的に名前の前に付加されます。 位置パラメータは 1 から始まります。
param
変数にバインドするパラメータ。
type
バインドするパラメータのデータ型。
  • SQLITE3_INTEGER: 符号付き整数。 値の大きさに応じて 1, 2, 3, 4, 6, あるいは 8 バイトで格納されます。
  • SQLITE3_FLOAT: 浮動小数点数値。 8 バイトの IEEE 浮動小数点数値として格納されます。
  • SQLITE3_TEXT: テキスト文字列。 データベースのエンコーディング (UTF-8, UTF-16BE あるいは UTF-16-LE) を用いて格納されます。
  • SQLITE3_BLOB: blob データ。 入力がそのままの形式で格納されます。
  • SQLITE3_NULL: NULL 値。
PHP 7.0.7 以降では、 type が省略されると、 自動的に param の型から検出します: bool と int 型は SQLITE3_INTEGER として扱われ、 float は SQLITE3_FLOAT、 null は SQLITE3_NULL、 そして、これら以外は全て SQLITE3_TEXT として扱われます。 これより前のバージョンでは、type が省略されると、 デフォルトの型 SQLITE3_TEXT になっていました。
注意: param が NULL の場合、 与えられた type に関わらず、 常に SQLITE3_NULL として扱われます。

返値

パラメータを変数にバインドした場合に TRUE、 失敗した場合に FALSE を返します。

更新履歴

バージョン 説明
7.4.0 sql_param は、 @param 記法もサポートするようになりました。

サンプル

例1 SQLite3Stmt::bindParam() の使い方

この例は、バインドするパラメータがひとつだけのプリペアドステートメントを使い、 どのようにして異なる値を持つ複数の行を挿入するかを示しています。

$db = new SQLite3(':memory:'); $db->exec("CREATE TABLE foo (bar TEXT)"); $stmt = $db->prepare("INSERT INTO foo VALUES (:bar)"); $stmt->bindParam(':bar', $bar, SQLITE3_TEXT); $bar = 'baz'; $stmt->execute(); $bar = 42; $stmt->execute(); $res = $db->query("SELECT * FROM foo"); while (($row = $res->fetchArray(SQLITE3_ASSOC))) {     var_dump($row); }

上の例の出力は以下となります。

array(1) { ["bar"]=> string(3) "baz" } array(1) { ["bar"]=> string(2) "42" }

参考

  • SQLite3Stmt::bindValue() - パラメータの値を変数にバインドする
  • SQLite3::prepare() - 実行する SQL 文を準備する
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール