Метод "moveFirst ()" ADODB, эквивалентность PDO - PullRequest
1 голос
/ 20 декабря 2011

В настоящее время я использую в своих проектах библиотеку ADODB для интеграции с базой данных.Я хочу перейти на PDO , но у меня есть вопрос о консультациях.

В настоящее время с ADODB я делаю запрос и много раз использую строку с набором, используя метод MoveFirst () .

Пример:

//I consultation
$rs = $conn->execute('select * from mytable');

//Loop through the results
while(!$rs->EOF) {
    echo $rs->fields('name');
    $rs->MoveNext();
}

//I move the "pointer" to the beginning of the list
$rs->MoveFirst();

//I can go over the results without needing to re-select
while(!$rs->EOF) {
    echo $rs->fields('name');
    $rs->MoveNext();
}

Интересно, есть ли какой-либо аналог в PDO, поэтому мне не нужно снова запускать запрос.Цель состоит в том, чтобы чаще избегать ненужных запросов на стенде, поскольку они используют один и тот же запрос.

1 Ответ

0 голосов
/ 20 декабря 2011

Я не уверен, почему вы хотите циклически просматривать набор результатов более одного раза по соединению с базой данных.Зачем снова извлекать данные из сети, если вы можете просто извлечь и сохранить их в первый раз?Но то, что вы ищете - это прокручиваемый курсор, который не поддерживается mysql.По крайней мере, через любой драйвер PHP / MySQL.Вы также можете просмотреть буферизованные / небуферизованные запросы, которые поддерживаются PDO.

PDO :: CURSOR_SCROLL http://www.php.net/manual/en/pdo.prepare.php

...