【发布时间】:2014-11-13 15:15:02
【问题描述】:
我不明白以下两个代码块之间的区别。第一个块比第二个块长,我必须确定$id => PDO::PARAM_INT, $name => PDO::PARAM_STR 的类型。二是简洁。请帮助我了解它们之间的区别。非常感谢。
$stmt = $db->prepare("SELECT * FROM table WHERE id=:id AND name=:name");
$stmt->bindValue(':id', $id, PDO::PARAM_INT);
$stmt->bindValue(':name', $name, PDO::PARAM_STR);
$stmt->execute();
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
$stmt = $db->prepare("SELECT * FROM table WHERE id=:id AND name=:name");
$stmt->execute(array(':name' => $name, ':id' => $id));
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
请告诉我应该使用什么?我知道上面的两个代码块具有相同的结果。但是我应该使用哪种方式?
【问题讨论】:
-
阅读 PDO 的文档怎么样?
-
有什么区别?其中两个具有相同的结果。第二个比第一个更容易编码。还是你无法回答?