Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PDO] problemy z nextRowset(), problemy z nextRowset()
rubinek
post 23.05.2008, 20:50:39
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 21.03.2005

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
nevt
post 24.05.2008, 08:21:49
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

Ostrzeżenie: (0%)
-----


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...


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
rubinek
post 24.05.2008, 10:42:26
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 21.03.2005

Ostrzeżenie: (0%)
-----


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

Ten post edytował rubinek 24.05.2008, 10:44:24
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:10