我使用此方法访问MySQL数据库:
$STH = $DBH->prepare("SELECT email FROM user WHERE unum = :u");
$STH->bindParam(':u', $json['u']); // Example only
try {
$STH->execute();
$STH->setFetchMode(PDO::FETCH_ASSOC);
} catch(PDOException $e) {
echo $e->getMessage();
}
现在,我知道$STH只包含一行,但我总是这样做:
foreach($STH as $row){
... $row['email']... etc
foreach
是完全不必要的,并且使代码更难遵循。如何在不使用foreach
的情况下访问$STH
中的email
?
谢谢。
您可以使用
$row = $STH->fetch();
echo $row['email'];
它将只得到一排。
只需使用获取第一行
$row = $STH->fetch(PDO::FETCH_ASSOC);
echo $row['email'];
应该做你的技巧