有什么区别
$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();
从此处获取的文档中,似乎没有 PDO::FETCH_COLUMN 样式。如果这是真的,那么区别在于 fetch 将返回一行,而 fetchColumn 将只返回指定的列。
默认情况下 fetchColumn() 将仅返回 'value' 而其他默认情况下将返回 array('column_name'=>'value')。你必须使用 setFetchMode() 来改变它。