我想回显"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;