phpを使ってデータベースに情報を挿入する時によくみかける$stmt->bindParam。
これはどういう意味を持つのでしょうか??

$stmt->bindParam(':title', $title, PDO::PARAM_STR);

みたいな感じです。
一個目にパラメータを指定。
prepareでテーブルのそれぞれに対してVALUES(:name,:title)というようにパラメータを与えます。
その中のどのパラメータに対するものなのか、をここで指定しているのです。
二個目にそれに入れる変数を指定します。
三個目に型を指定します。
PDO::PARAM_STRは「文字列」であることを意味しています。
この他にも様々な型が存在します。

$stmt->bindValue

この二つの違いについては別の記事で紹介されていますが、もう一度。
Valueの場合は二個目の変数だけでなく数値も格納する事ができる。
つまり、bindValueは値をバインドします。
bindParamは変数をバインドします。
評価(変数の中身を参照するの)は実行時に行われます。($stmt->execute();)

以上

最終更新:2015年09月08日 09:23