传递给bindParam的变量是否需要初始化?
编辑:真实使用案例
$user = 0; //IS THIS REQUIRED?
$stmt = $db->prepare("SELECT * FROM Blah WHERE something=?");
$stmt->bindParam(0, $user);
foreach($array as $user)
$stmt->execute();
答案 0 :(得分:1)
这取决于你绑定的那种参数。如果它是 out 参数,则无需初始化它。如果它是 in 或 inout 参数,则需要将其初始化,原因很明显。
在你的情况下,你应该真正初始化它,因为你在WHERE
部分使用它,即作为 in 参数。
来自文档:
bool PDOStatement::bindParam(mixed $parameter, mixed &$variable, ...)
variable
- 要绑定到SQL语句参数的PHP变量的名称。