PHP PDO:检索单列结果的方法之间的差异

时间:2009-04-05 19:20:23

标签: php pdo

之间有什么区别
$PDOStatement->fetchColumn();

$PDOStatement->fetch(PDO::FETCH_COLUMN);

(如果存在)?或者它们功能相似但只是在美学上不同?

3 个答案:

答案 0 :(得分:2)

默认情况下,fetchColumn()仅返回'value',而其他默认情况下将返回array('column_name'=>'value')。您必须使用setFetchMode()来更改它。

$PDOStatement->fetchColumn($colno);

相当于:

$PDOStatement->setFetchMode(PDO::FETCH_COLUMN, $colno);
$PDOStatement->fetch();

答案 1 :(得分:0)

从文档here获取fetch,似乎没有PDO :: FETCH_COLUMN样式。如果这是真的,那么差异是fetch将返回一行,而fetchColumn将只返回指定的列。

答案 2 :(得分:0)

默认情况下,fetchColumn()将仅返回'value',而其他默认情况下将返回数组('column_name'=>'value')。你必须使用setFetchMode()来改变它。