Magento SQL语句未返回预期结果


Magento SQL statement not returning expected results

我正在运行Magento 1.7.0.2:

我正在尝试使用PHP&SQL,但返回的结果不是我所期望的或通常得到的:

$connection = $this->_getConnection('core_read');
$sql = "SELECT * FROM " .  $this->_getTableName('my_custom_table_name') . " cped
        WHERE  cped.id = ?";
$results = $connection->fetchOne($sql, array($id));
print_r($results); //this only prints out a single value
public function _getConnection($type = 'core_read'){
     return Mage::getSingleton('core/resource')->getConnection($type);
}
public function _getTableName($tableName){
     return Mage::getSingleton('core/resource')->getTableName($tableName);
}

问题是,即使我使用了,它也只返回第一列(即本例中的id)

Select *

声明,通常效果很好。巧合的是,如果我尝试指定我感兴趣使用的列名:

Select id, name, sku, custom_value

它只返回第一个值,所以我首先指定的列就是它返回的值。

如果我尝试在PHPMyAdmin中运行相同的语句,它会完美地返回预期的结果。有什么想法吗?

fetchOne就是这么做的。它获得了第一个记录。请注意函数名称中的One
尝试使用fetchAll

原来我对直接SQL语句的功能搞错了。fetchOne确实只从语句中获取一列结果,fetchRow查询将返回该表中的每一列。