传递给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 变量的名称。