我正试图在我的网站中实现PDO,我检查了fetch和fetchAll的使用情况,发现了这种奇怪的行为。这个代码工作得很好:
$query="SELECT `id`, `username`, `nome`, `email`, `pwd`, `level` FROM `users` WHERE `username`= ? LIMIT 1";
$stmt=$myconn->prepare($query);
$stmt->bindParam(1, $uname);
$stmt->execute();
$row=$stmt->fetchAll();
print_r($row);
而这个不起作用:fetch返回false,没有错误代码(00000):
$query="SELECT `id`, `username`, `nome`, `email`, `pwd`, `level` FROM `users` WHERE `username`= ? LIMIT 1";
$stmt=$myconn->prepare($query);
$stmt->bindParam(1, $uname);
$stmt->execute();
while($row = $stmt->fetch()) {
echo $row->username . "'n";
echo $row->nome . "'n";
echo $row->email . "'n";
}
知道为什么吗?
这应该有效:
$stmt=$myconn->prepare($query);
$stmt->bindParam(1, $uname);
$stmt->execute();
$stmt->setFetchMode(PDO::FETCH_ASSOC);
while($row = $stmt->fetch()) {
echo $row['username'] . "'n";
.
.
.
}