bindValue和execute(array())有什么区别?

时间:2013-03-24 03:36:22

标签: php pdo bindvalue

我一直在敦促知道使用bindValue和execute(array())thing-y之间的区别。

好吧,我说我有这个代码示例

$query = $db->prepare("SELECT embedded_page.uid FROM embedded_page WHERE fbp_id = :fbp_id");
$query->bindValue(":fbp_id", $fbp_id, PDO::PARAM_INT);
$query->execute();

这个有什么区别?

$query = $db->prepare('SELECT `embedded_page`.`uid`, `embedded_page`.`ticket_id`, `embedded_page`.`event_table` FROM `embedded_page` WHERE `fbp_id` = ?');
$query->execute(array($fbp_id));

无论保存一行代码。

帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

已经用您的示例自我解释,bindValue以特殊定义的PDO :: PARAM_INT或类似形式验证输入数据类型。虽然在第二个例子中没有这样的条件,因为准备使用? (某些内部验证可以由引擎完成,假设为string,int和float类型。)。此外,如果更多变量作为占位符在查询第一形式更容易理解。