2012-03-29 56 views
1

我想回显“select min”查询的记录。我知道如何继续回显检索多个记录的选择查询的字段值,但我不知道如何检索只有一条记录时如何继续。希望有人能够在只检索到一条记录时以最佳做法来承认我。先谢谢你。干杯。马克PHP PDO - 最佳做法来回显具有唯一记录的选择查询

在多个记录的情况下,我知道如何着手:

$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'); 
??? 

回答

2

您可以简单地在循环外调用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); 
+0

谢谢乔恩.... – Marc 2012-03-29 21:13:27

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

谢谢OneSneakMofo .... – Marc 2012-03-29 21:13:42

+0

没问题。希望可以帮助你。保重。 – OneSneakyMofo 2012-03-29 21:15:32

0
$row = $qry->fetchColumn(0); 
    echo $row;