Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PDO] problemy z nextRowset()
Forum PHP.pl > Forum > PHP > Object-oriented programming
rubinek
Mam nastepujacy kawalek kodu wziety z dokumentacji:
  1. <?php
  2. $sql = 'CALL multiple_rowsets()';
  3. $stmt = $conn->query($sql);
  4. $i = 1;
  5. do {
  6. $rowset = $stmt->fetch(PDO::FETCH_NUM);
  7. if ($rowset) {
  8. printResultSet($rowset, $i);
  9. }
  10. $i++;
  11. } while ($stmt->nextRowset());
  12. ?>

na jego podstawie zrobilem sobie biblioteke do obslugi multirowsetow w procedurach na mysql'u.
No i tu mam problem.
O ile na lokalnym serwerze chodzi mi wszystko ok, to jak przegram na serwer az wszystko sie wywala. Znaczy sie nie wszystko a tylko na lini
  1. <?php
  2. while ($stmt->nextRowset());
  3. ?>

wyglada na to ze serwer w ich konfiguracji nie obsluguje multirowset'ow sad.gif

Konfiguracja serwera na localhosci
platforma: Mac
php 5.2.5
mysql 5.0.41

az.
php. 5.2.5
mysql 5.1.23-rc

Szukalem po googlu rozwizania tego problemu, ale niestety nie udalo mi sie go namierzyc, z tego co zauwazylem problem przewija sie w dyskusjach od dluzszego czasu ale jak juz wspomnialem jednoznacznego rozwiazania brak. Moze ktos z was zetknol sie z tym problemem i jakos udalo sie go rozwiazac.
Dzieki za wszelaka pomoc.
nevt
sprawdź, czy nie ma błędu po wywołaniu:
  1. <?php
  2. $stmt = $conn->query($sql);
  3. ?>

na pewno przeniosłeś procedurę SQL multiple_rowsets() na zdalny serwer? możliwe, że w tej procedurze dzieje się coś, do czego nie masz uprawnień na zdalnym serwerze, np. zakładanie tabel tymczasowych...
rubinek
Ostatnio zmodyfikowalem swoj kod do postaci:
  1. <?php
  2. $stmt = $this->_resourceDb->prepare($query);
  3. $stmt->execute();
  4. do {
  5. $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
  6. if ($rows) {
  7. $result[] = $rows;
  8. }
  9. } while ($stmt->nextRowset());
  10. ?>

Procedura ma najproszcza postac:
  1. BEGIN SELECT 'one';
  2. SELECT 'two';
  3. END

i w tabeli result dostaje tylko wynik z pierwszego zapytania 'one' sad.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.