我在 PDO 中有一个带有多个参数的准备好的语句,有没有办法将参数绑定在组中,或者链接调用以避免繁琐的调用bindParam每个项目?
现在看起来是什么样子(我在其他地方有更多参数化查询):
$stmt = $pdo->prepare("INSERT INTO users (name, pass, mail, created, timezone_name, hash_pass, salt) VALUES (:name, :pass, :mail, :created, :timezone, :hashed, :salt") ;
$stmt->bindParam(':name', $name, PDO::PARAM_STR);
$stmt->bindParam(':pass', $pass, PDO::PARAM_STR);
$stmt->bindParam(':mail', $mail, PDO::PARAM_STR);
$stmt->bindParam(':created', $date, PDO::PARAM_INT);
$stmt->bindParam(':timezone', $timezone, PDO::PARAM_STR);
$stmt->bindParam(':hashed', $hash, PDO::PARAM_STR);
$stmt->bindParam(':salt', $salt, PDO::PARAM_STR);
$stmt->execute();
Run Code Online (Sandbox Code Playgroud)
在执行时做吗?
$stmt->execute(array(':name' => $name, etc....))
Run Code Online (Sandbox Code Playgroud)
bindParam()仅当您要在循环中执行语句并且要更改$name循环中的值和其他变量时,使用形式才有意义。如果它是“即发即忘”单执行查询,不妨只传递调用中的值execute()并跳过正式绑定 - 这是大量额外的工作,基本上没有任何好处。
| 归档时间: |
|
| 查看次数: |
3733 次 |
| 最近记录: |