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 には 1 行しか含まれないことがわかりましたが、私は常に次のようにしています。

foreach($STH as $row){
    ... $row['email']... etc

これforeachはまったく不要であり、コードを追跡するのが難しくなります。を使用せずにアクセスemailするにはどうすればよいですか?$STHforeach

ありがとう。

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 に答える