PHP MySQL结果-不必要地使用foreach


PHP MySQL result - unnecessary use of foreach

我使用此方法访问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'];

应该做你的技巧