Как вы можете читать из базы данных и записывать в поток HTTP. php & mysql - PullRequest
0 голосов
/ 28 октября 2009

Это похоже на продолжение получения данных из mysql с использованием PHP и одновременную потоковую передачу на http.

Как в java мы можем записать в поток ServletOutput?

Размер данных может составлять около 200 МБ.

Спасибо

Ответы [ 3 ]

1 голос
/ 04 ноября 2009

Вот скрипт, который выполняет несколько операторов выбора для таблицы и записывает каждую строку результата в выходной поток. Это действительно не отличается от эхо, но, возможно, вы можете адаптировать его, например, с помощью другой потоковой обертки (предопределенной или пользовательской). Конечно, добавьте код безопасности и проверки ошибок.

Предположим, что таблица содержит поля "name" и "home_country".

$dsn = 'mysql:host=localhost;dbname=test';
$uname = 'uname';
$pword = 'password';
$countries = array('Mexico', 'Egypt', 'Estonia', 'Australia');

$pdo = new PDO($dsn, $uname, $pword);
$qry_stmnt = 'SELECT name, home_country 
              FROM places_test 
              WHERE home_country = :country';
$stmnt = $pdo->prepare($qry_stmnt);

$out_stream = fopen('php://output', 'w');
foreach ($countries as $country) {
    $result = $stmnt->execute(array(':country' => $country));
    $obj = $stmnt->fetchAll(PDO::FETCH_OBJ);
    foreach ($obj as $row) {
        fwrite($out_stream, $row->name . ': ' . $row->home_country . '<br />');
    }
}
fclose($out_stream);
0 голосов
/ 04 ноября 2009

Я думаю, что вы хотите очистить буфер вывода в PHP. Для получения дополнительной информации см. Функцию flush и другие функции управления выводом в руководстве по PHP.

0 голосов
/ 28 октября 2009

Похоже, вам нужен PHP или какой-то эквивалент ... Можете ли вы быть более точным относительно того, что вы пытаетесь сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...