PHP PDO有选择地使用bindParam

时间:2014-04-09 16:14:05

标签: php pdo

$pdo = $db_con->prepare("INSERT INTO agents (Agent_ID,Agent_Name,Agent_Branch) VALUES (?,?,?)");
$pdo->bindParam(1, $id);
$pdo->bindParam(2, $name);
$pdo->bindParam(3, $branch);
$pdo->execute();

所以在这个例子中我只需要在$ branch上真正使用bindParam,因为$ name和$ id已经使用preg_replace通过了严格的REGEX。

有没有办法在声明中包含这些已清理的变量或以其他方式缩短此代码?

1 个答案:

答案 0 :(得分:1)

简短的方法是:

$pdo = $db_con->prepare("INSERT INTO agents (Agent_ID,Agent_Name,Agent_Branch) VALUES (?,?,?)");
$pdo->execute(array($id,$name,$branch));

如果您想要绑定参数,请用占位符替换问号:

$pdo = $db_con->prepare("INSERT INTO agents (Agent_ID,Agent_Name,Agent_Branch) VALUES (:id,:name,:branch)");
$pdo->bindParam(':id', $id);
$pdo->bindParam(':name', $name);
$pdo->bindParam(':branch', $branch);
$pdo->execute();