Действительно ли возможно перемотать результат PDO?

Разделитель по умолчанию convert-csv-to-json использует точку с запятой (;). Если вы хотите использовать другой разделитель, такой как | файл, которым вы поделились, вам нужно определить его явно. Например :

csvToJson.fieldDelimiter('|').generateJsonFileFromCsv(fileInputName, fileOutputName);
14
задан Ken 10 November 2008 в 05:59
поделиться

3 ответа

Я вполне уверен, это - зависимый базы данных. Из-за этого это - что-то, чего необходимо стараться избегать. Однако я думаю, что можно достигнуть того, что Вы хотите путем включения буферизированные запросы . Если это не работает, можно всегда вытягивать результат в массив с fetchAll . Оба решения имеют последствия для Вашей производительности приложений, поэтому думайте дважды об этом, если наборы результатов являются большими.

10
ответ дан 24 October 2019 в 05:06
поделиться

Вы, вероятно, захотите смотреть на некоторые классы SPL PHP, которые могут быть расширены для обеспечения подобного массиву доступа к объектам.

1
ответ дан 24 October 2019 в 05:06
поделиться

см. слайд 31 от этой презентации , можно сделать $statement->rewind(), если это относится к буферизированному запросу. При использовании mysql можно эмулировать буферизованные запросы при помощи PDO_MYSQL_ATTR_USE_BUFFERED_QUERY:

$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, 1);

@NoahGoodrich указал на Вас на spl. Вот пример, который всегда работает:

$it = new ArrayIterator($stmt->fetchAll());
9
ответ дан 24 October 2019 в 05:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: