【发布时间】:2009-04-05 19:20:23
【问题描述】:
有什么区别
$PDOStatement->fetchColumn();
和
$PDOStatement->fetch(PDO::FETCH_COLUMN);
(如果存在)?还是它们在功能上相似但只是审美不同?
【问题讨论】:
有什么区别
$PDOStatement->fetchColumn();
和
$PDOStatement->fetch(PDO::FETCH_COLUMN);
(如果存在)?还是它们在功能上相似但只是审美不同?
【问题讨论】:
默认情况下fetchColumn() 将仅返回'value',而其他默认情况下将返回array('column_name'=>'value')。你必须使用setFetchMode() 来改变它。
$PDOStatement->fetchColumn($colno);
相当于:
$PDOStatement->setFetchMode(PDO::FETCH_COLUMN, $colno);
$PDOStatement->fetch();
【讨论】:
从文档here 获取,似乎没有 PDO::FETCH_COLUMN 样式。如果是这样,那么区别在于 fetch 会返回一行,而 fetchColumn 只会返回指定的列。
【讨论】:
默认情况下 fetchColumn() 将仅返回 'value' 而其他默认情况下将返回 array('column_name'=>'value')。你必须使用 setFetchMode() 来改变它。
【讨论】: