PHP PDO-回显具有唯一记录的选择查询的最佳实践


PHP PDO - Best practice to echo select query that has a unique record

我想回显"select min"查询的记录。我知道如何继续回显检索多条记录的选择查询的字段值,但我不知道当只检索一条记录时如何继续。希望有人能在只检索到一张唱片的情况下用最佳实践来表彰我。提前谢谢。干杯Marc

如果有多条记录,我知道如何进行:

$qry = $connexion->query('SELECT * FROM table');
$qry->setFetchMode(PDO::FETCH_ASSOC);
while($row = $qry->fetch()){
    echo $row['field1'].$row['field2'];
    }

但是,当只返回一个"记录"时,最佳做法是什么?

$qry = $connexion->query('SELECT min(field) FROM table');
???

您可以简单地在循环之外调用fetch,因为您知道只有一行要提取。

$qry = $connexion->query('SELECT min(field) AS minimum FROM table');
$qry->setFetchMode(PDO::FETCH_ASSOC);
$row = $qry->fetch();
$min = $row['minimum'];
// the two lines above can be condensed into one in PHP >= 5.4.0:
// $min = $qry->fetch()['minimum'];

在这种不仅有一行而且只有一列的情况下,使用fetchColumn更方便:

$qry = $connexion->query('SELECT min(field) FROM table');
$min = $qry->fetchColumn(0);
$qry = $connexion->query('SELECT min(ber_mBatch_date) AS minimum FROM batcherrors');
$qry->setFetchMode(PDO::FETCH_ASSOC);
$row = $qry->fetch();
echo $row['minimum'];
    $row = $qry->fetchColumn(0);
    echo $row;