一尘不染

PDO bindParam变成一个语句?

mysql

有没有办法将这些bindParam语句放入一个语句中?

$q = $dbc -> prepare("INSERT INTO accounts (username, email, password) VALUES (:username, :email, :password)");
$q -> bindParam(':username', $_POST['username']);
$q -> bindParam(':email', $_POST['email']);
$q -> bindParam(':password', $_POST['password']);
$q -> execute();

我使用mysqli在可能的地方准备好了,我切换到PDO以获得assoc_array支持。在PDO的php.net网站上,它们以单独的行显示,在所有示例中,我都看到它以单独的行显示。

可能吗?


阅读 214

收藏
2020-05-17

共1个答案

一尘不染

execute页面上的示例2 是您想要的:

$sth->execute(array(':calories' => $calories, ':colour' => $colour));

您可能也想看看其他示例。使用问号参数,将为:

$q = $dbc -> prepare("INSERT INTO accounts (username, email, password) VALUES (?, ?, ?)");
$q->execute(array($_POST['username'], $_POST['email'], $_POST['password']));

如果只有这些列,则可以编写:

$q = $dbc -> prepare("INSERT INTO accounts VALUES (?, ?, ?)");
$q->execute(array($_POST['username'], $_POST['email'], $_POST['password']));
2020-05-17