0

我使用这种方法来访问我的 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是完全没有必要的,并且使代码更难遵循。我如何email$STH不使用的情况下访问foreach

谢谢。

4

2 回答 2

5

您可以使用

$row = $STH->fetch();
echo $row['email'];

它只会得到 1 行。

于 2012-08-29T06:39:16.027 回答
2

只需使用获取第一行

$row = $STH->fetch(PDO::FETCH_ASSOC);
echo $row['email'];

应该做你的伎俩

于 2012-08-29T06:38:14.420 回答