【发布时间】:2012-09-01 17:22:18
【问题描述】:
试图将我所有旧的 mysql_* 操作转换为新的,并且据我所知,改进了 PDO,但是这个查询似乎不会成功运行,我试图从用户名 = 的表 PEOPLE 中选择所有$username(之前声明为$username = $_SESSION['username'];)
$query = "SELECT * FROM people WHERE username=?";
$stmt = $conn->prepare($query);
$stmt->bindParam(1, $username);
$stmt->execute();
$num_rows = $stmt->fetchColumn();
if ($num_rows == 1) {
// ...
}
工作代码是:
$query = "SELECT * FROM people
WHERE username=?";
$stmt = $conn->prepare($query);
$stmt->bindParam(1, $username);
$stmt->execute();
$num_rows = $stmt->fetchColumn();
$user = $stmt->fetchObject();
if ($user) {
//do something
}
【问题讨论】:
-
我建议,在这种情况下,LIMIT 1 在您的查询结束时。您知道您将拥有 1 个或 0 个具有任何给定用户名的用户,对吧?