bindParamに渡される変数を初期化する必要がありますか?
編集:実際のユースケース
$user = 0; //IS THIS REQUIRED?
$stmt = $db->prepare("SELECT * FROM Blah WHERE something=?");
$stmt->bindParam(0, $user);
foreach($array as $user)
$stmt->execute();
バインドするパラメータの種類によって異なります。outパラメータの場合は、初期化する必要はありません。inまたはinoutパラメータの場合は、明らかな理由で初期化する必要があります。
あなたの場合、それをWHERE
パーツで、つまりinパラメータとして使用しているので、実際に初期化する必要があります。
ドキュメントから:
bool PDOStatement::bindParam(mixed $parameter, mixed &$variable, ...)
variable
-SQLステートメントパラメータにバインドするPHP変数の名前。