我对这些执行选择查询的方法感到困惑,任何人都可以帮助区分这些方法,并解释哪些方法更好。
第一种方法
$stmt = $dbConnection->prepare('SELECT * FROM employees WHERE name = ?');
$stmt->bind_param('s', $name);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
// do something with $row
}
第二种方法
$stmt = $dbConnection->query('SELECT * FROM employees');
while($row = $stmt->fetch_assoc()) {
// do something with $row
}
第三种方法
$stmt = $dbConnection->prepare("SELECT District FROM City WHERE Name=?")) {
$stmt->bind_param("s", $city);
$stmt->execute();
$stmt->bind_result($district);
$stmt->fetch();
printf("%s is in district %s\n", $city, $district);
答案 0 :(得分:1)
这三个用于不同的目的
从这一切可以看出,执行Select查询并使用Prepared语句获取结果的最佳方法是使用 PDO:
从准备好的陈述中获得多个结果
$stmt = $dbConnection->prepare('SELECT * FROM employees WHERE name = ?');
$stmt->execute([$name]);
while ($row = $stmt->fetch()) {
// do something with $row
}
在没有准备好的陈述的情况下获得多个结果
$stmt = $dbConnection->query('SELECT * FROM employees');
while($row = $stmt->fetch()) {
// do something with $row
}
从准备好的陈述中获得单一结果
$stmt = $dbConnection->prepare("SELECT District FROM City WHERE Name=?"));
$stmt->execute([$city]);
$district = $stmt->fetchColumn();
你知道,所有的方法都是统一的,更简洁,更有效。我非常推荐PDO tutorial,我强烈推荐。