如何从Zend SQL结果集中获取变量?

时间:2014-11-18 17:54:18

标签: php mysql sql zend-framework zend-framework2

如何从zend查询中获取变量?

我有一个将返回一条记录的查询。然后我想从这个记录中获取一个字段并将其设置为变量。有什么想法吗?

查询:     公共函数getProContestedReview($ contest_review_id)     {         $ adapter = $ this-> getAdapter();

    $sql = new Sql($adapter);
    $select = $sql->select();
    $select->from('contest_review_table') 
        ->join(array('review' => 'review_table'),
             'review.review_id = contest_review_table.review_id')
        ->join(array('friend' => 'friend_table'),
             'friend.friend_id = review.friend_id')
        ->join(array('pro' => 'pro_table'),
             'pro.pro_id = review.pro_id')
        ->join(array('verification' => 'verification_status'),
             'verification.status_id = contest_review_table.contest_review_status_id')           
        ->where(array(
            'contest_review_id' => $contest_review_id,
            ));      
    $selectString = $sql->getSqlStringForSqlObject($select);
    $resultSet = $adapter->query($selectString, $adapter::QUERY_MODE_EXECUTE);
    return $resultSet;       
}  

我想将变量$ friend_id设置为查询中的friend id。

$friend_id = $this->getProContestedReview->friend_id

3 个答案:

答案 0 :(得分:0)

如果您使用

vardump($resultSet);

您可以看到返回结果的确切内容。

你可以使用

$friend_id = $resultSet['friend_id'];

$proContestedReview = $this->getProContestedReview($some_id_variable);
$friend_id = $proContestedReview['friend_id'];

答案 1 :(得分:0)

需要这样做才有效。 $ friend_id = $ proContestedReview [0] [' friend_id'];

感谢您的帮助!

答案 2 :(得分:0)

$resultSet = $resultSet->current();

$resultSet现在应该是ArrayObject的一个实例,所以只需var_dump($resultSet)即可确切了解您的内容。

您可以像普通数组一样从ArrayObject获取值。 exp:

$friend_id = $resultSet['friend_id'];