1
我建立简单的查询生成器,我有两个问题:PDO的绑定参数
是否有可能,因为它是用
->execute(array(':param:' => ...
完成,以确保其正常功能的MySQL查询到类似的水平?是否可以使用许多变量在一个查询中,给他们相同的名称(分号后的),然后绑定逐一?
我建立简单的查询生成器,我有两个问题:PDO的绑定参数
是否有可能,因为它是用->execute(array(':param:' => ...
完成,以确保其正常功能的MySQL查询到类似的水平?
是否可以使用许多变量在一个查询中,给他们相同的名称(分号后的),然后绑定逐一?
如果我理解正确的话,你想知道是否有可能与标准mysql_*
功能复制的bindParam
的功能?
简短的回答是没有。请不要在所有使用MySQL的函数,使用mysqli
或PDO
因为这些为您提供真正的安全,当谈到prepared statements
。他们还可以提供更好的查询性能的SQL能够对数据库进行预优化。
您将不得不单独定义每个参数(即使它是相同的值)。你也可以通过一个简单的数组到方法调用,但你并不那么有明确定义的参数类型的选项。
在你的函数中使用的一些事情是这样的:
$name = "fred";
$statement = $pdo->prepare("SELECT id FROM contacts WHERE first_name = ? OR last_name = ?");
for ($x = 1; $x <= 2; $x++) {
$statement->bindParam($x, $name, PDO::PARAM_STR);
}
$statement->execute();
你的问题不明确。请重新说明这一点。 –