2012-12-04 319 views
-1

我想使用PDO库将我的数据库中的单个结果返回,但返回所需内容的唯一方法是将其放入foreach循环中。PHP - PDO库返回结果

这是我如何查询我的数据库和获取数据。

<? $query = " 
    SELECT 
     theme 
    FROM ncms_settings 
";  
try 
{ 
    $stmt = $db->prepare($query); 
    $stmt->execute(); 
} 
catch(PDOException $ex) 
{ 
    die("Failed to run query: " . $ex->getMessage()); 
} 
$rows = $stmt->fetchAll(); ?> 

如何通过只是在做

echo $rows['theme']; 

代替

<? foreach($rows as $row): ?> 
    $echo $row['theme'] 
endforeach; ?> 
+1

假设你有42点返回的行,你所期望的值'$行[ '主题']'(如果它的工作)? – zerkms

+0

我只有一行,应该返回1. –

+0

为什么我会被拒绝?我提供了所有可能的信息和我所尝试的,是因为答案对大多数人来说显而易见?如果我正在学习,我很抱歉。 **编辑**感谢您的投票,谁曾经是=] –

回答

2

如果它返回的数据只有一行返回 - 只需使用

$stmt->fetch() // returns a single row (array of fields) 

代替

$stmt->fetchAll() // returns all rows (array of arrays of fields) 

http://php.net/manual/en/pdostatement.fetch.php

+0

完美! PDO图书馆的新手,有点想到fetchAll是我所需要的,非常感谢。 –