PDOStatement ::bindParam() この関数は、パラメータを指定された変数にバインドするために使用される PHP の組み込み関数です。名前。この関数は変数をバインドし、その値を入力として渡し、関連する引数タグがあればその出力値を受け取ります。
構文:
bool PDOStatement::bindParam ( $parameter, $variable, $data_type, $length, $driver_options )
パラメーター: この関数は、上で説明したように、以下に説明するように 5 つのパラメーターを受け入れます:
$パラメーター: 名前のプレースホルダーを使用する Prepare ステートメントのパラメーター識別子です。 。これは、name という形式のパラメータ名です。
$variable: このパラメータは、SQL ステートメントのパラメータにバインドされる変数名を保存するために使用されます。
$data_type: PDO::PARAM_* 定数を使用したパラメーターの明示的なデータ型です。
$length: このパラメータは、データ型の長さを保存するために使用されます。
$driver_options: このパラメータは、実行する必要がある操作を保存します。
戻り値: この関数は、成功した場合は True を返し、失敗した場合は false を返します。
プロシージャ:
<?php // 设置PDO连接 $db = new PDO('mysql:host=localhost;dbname=phps','root',''); // 获得用户名 $username = 'phpforphp'; $stmt = $db->prepare("SELECT * FROM users WHERE user = :username"); // 使用bindParam函数 $stmt->bindParam(':username', $username); $username = 'g4g'; $stmt->execute(); ?>
注: SQL ステートメントは、ユーザー名として 'g4g' を使用して実行されます。その理由は次のとおりです。ユーザー名は実行時に $username を検索し、$username の最後の既知の値は ' g4g 」。
PDOStatement::bindValue() この関数は、値をパラメーターにバインドするために使用される PHP の組み込み関数です。この関数は、準備されたステートメントに使用される SQL 内の対応する名前付きプレースホルダーまたは疑問符プレースホルダーに値をバインドします。
構文:
bool PDOStatement::bindValue( $parameter, $value, $data_type )
パラメータ: この関数は、以下に説明するように、上記の 3 つのパラメータを受け入れます:
$パラメータ: 準備されたステートメントを説明するために使用されるパラメータ識別子です。これは、name という形式のパラメータ名です。
$value: このパラメータは、バインディング パラメータの値を保存するために使用されます。
$data_type: PDO::PARAM_* 定数を使用したパラメータの明示的なデータ型です。
戻り値: この関数は、成功した場合は True を返し、失敗した場合は False を返します。
手順:
<?php // 设置PDO连接 $db = new PDO('mysql:host=localhost;dbname=phps','root',''); // 获得用户名 $username = 'phpforphp'; $stmt = $db->prepare("SELECT * FROM users WHERE user = :username"); // 使用bindValue函数 $stmt->bindValue(':username', $username); $username = 'g4g'; $stmt->execute(); ?>
注: リテラル値「phpforphp」がbindValue()にバインドされているため、SQLステートメントはユーザー名として「g4g」を使用して実行されます。関数の以前のユーザー名。 $username に対するこれ以上の変更は、準備されたステートメントには反映されません。
bindParam() と bindingValue() の違い:
bindParam()
bindParam() 関数はパラメータを指定します。 SQL ステートメント内の名前付きプレースホルダーまたは疑問符プレースホルダーにバインドされます。
bindParam() 関数は、値の代わりに変数を渡すために使用されます。
bindValue()
bindValue() 関数は、SQL ステートメント内の名前または疑問符に値をバインドします。
bindValue() 関数は、値と変数を渡すために使用されます。
お勧め: 「PHP チュートリアル 」http://www.php.cn/course/list/29.html
この記事これは、PHP におけるbindParam と bindingValue の違いの紹介です。それが必要な友人にとって役立つことを願っています!
以上がPHPのbindParamとbindValueの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。