2014-10-20 2 views
0

Я пытаюсь принести одну строку с помощью оператора PDO, но я получаю сообщение об ошибке, как ..Проблема с получением одной строки в ZF2 п.д.о.

Фатальная ошибка: Вызов неопределенной метода выборки()

$sql = new Sql($this->adapter); 
    $select = $sql->select(); 
    $select->from('users'); 
    $where = new Where(); 
    $where->equalTo('user_id',$userId); 
    $select->where($where); 

    //echo $select->getSqlString($this->adapter->getPlatform()); 

    $statement = $sql->prepareStatementForSqlObject($select); 

    $result = $statement->execute(); 


    $row = $statement->fetch(); 

    //getting the result set for the below, but not the above statement fetch 
    $rows = array_values(iterator_to_array($result)); 

ответ

0

В объекте-постановке нет метода «выборки». Если вы хотите, чтобы получить одну строку затем получить текущую запись результирующего итератора, например, так:

$row = $result->current(); 
+0

http://php.net/manual/en/class.pdostatement.php, здесь я могу найти методы isnt it .. обратите внимание на строку..PDOStatement :: fetch - выбор следующей строки из результирующего набора –

+0

Хорошо, я получил вашу мысль. Позвольте мне пояснить. Метод $ sql-> prepareStatementForSqlObject ($ select); НЕ возвращает экземпляр PDOStatement, а возвращает экземпляр Zend \ Db \ Adapter \ Driver \ Pdo \ Statement. Однако вы можете получить PDOStatement из объекта Zend \ Db \ Adapter \ Driver \ Pdo \ Statement через метод getResource –

Смежные вопросы