Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> blad PDO ale tylko na serwerze
a79rtur
post
Post #1





Grupa: Zarejestrowani
Postów: 331
Pomógł: 1
Dołączył: 23.05.2004
Skąd: Tarnów/Londyn

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


witam
mom strone gdzie baza danych oparta jest na PDO, na localhoscie dziala wszystko natomiast na serwerze wyskakuje blad
PDOStatement::fetchAll() [function.fetchAll]: SQLSTATE[HY000]: General error: 2050 in /xxxxxxxxxxx on line 50
co ciekawe pare linijek wczesniej jest identyczna metoda uzyta na innym zapytaniu i jest ok. na localhoscie na windzie wszystko chodzilo spoko.
znalazlem na sieci ktos mial identyczny problem TUTAJ
moze ktos sobie z tym poradzil i uzywa z powodzeniem PDO ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
nrm
post
Post #2





Grupa: Zarejestrowani
Postów: 627
Pomógł: 33
Dołączył: 1.05.2005
Skąd: Katowice

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


ja (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) pozmieniaj nazwy poszczegolnych wywolan $pdo->query() a do tego zamykaj $pdo->closeCursor() polaczenia.

mimo to czasami jeszcze mam kaszanke przy $pdo->prepare (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
a79rtur
post
Post #3





Grupa: Zarejestrowani
Postów: 331
Pomógł: 1
Dołączył: 23.05.2004
Skąd: Tarnów/Londyn

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


goscie z home.pl poradzili, nie wiem czemu ale najwazniejsze ze dziala (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
zeby zmienna z kursorem wyzerowac np.
  1. <?php
  2.  
  3. $wynik->closeCursor();
  4. $wynik=null; 
  5.  
  6. ?>

nazw wywolan nie trzeba zmieniac, kursor trzeba zamykac
na windowsie dziala bez tego zerowania kursora tylko na linuxie byly problemy.

Ten post edytował a79rtur 6.04.2006, 17:24:53
Go to the top of the page
+Quote Post
krzyszbi
post
Post #4





Grupa: Zarejestrowani
Postów: 251
Pomógł: 13
Dołączył: 15.09.2005

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


witam odgrzebie temat bo sam już nie wiem co u mnie jest źle (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
a mianowicie mam taka konstrukcje ( używam ZendFramework-a )
  1. <?php
  2. $query = 'SELECT l.id,l.name,l.entry_date FROM `lessons` l WHERE ( YEAR (l.entry_date) = 2007 ) AND ( MONTH (l.entry_date) = 1 ) ;';
  3. $result = $db->query($query);
  4. $result->closeCursor();
  5. $_dane = $result->fetchAll();
  6. /* bez powyższej linijki na serwerze localhost pod WinXP zapytanie działa 
  7. ale już po wgraniu na serwer roboczy a on stoi na FreeBSD wywala mi błąd
  8. SQLSTATE[HY000]: General error: 2050 - wiem że to błąd PDO ale rozwiązanie 
  9. podane w tym wątku mi nie działa i nie wiem co zrobić aby zadziałało 
  10. na WinXP z powyższą linią wynik zawsze otrzymuje pusty */
  11. $result->null;
  12. ?>

juz różne kombinacje z kolejnością $result->closeCursor(); próbowałem ale albo mam błąd albo nie mam błędu ale mam pusty wynik choć zapytanie ma pewno powinno zwrócić wynik
co mam źle co poprawić aby zadziałało i na localu i na sieci (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Ten post edytował krzyszbi 30.01.2007, 10:10:33
Go to the top of the page
+Quote Post
a79rtur
post
Post #5





Grupa: Zarejestrowani
Postów: 331
Pomógł: 1
Dołączył: 23.05.2004
Skąd: Tarnów/Londyn

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


ma byc
  1. <?php
  2. $result = null;
  3. ?>

zamiast
  1. <?php
  2. $result->null;
  3. ?>


pozatym wydaje mi sie ze kursor powinienes zamknac juz po pobraniu danych a nie przed.

Ten post edytował a79rtur 30.04.2007, 14:15:04
Go to the top of the page
+Quote Post
webdice
post
Post #6


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Z tego co wiem błąd występuj w MySQL 4.1 i chyba niższych, ale nie jestem do końca przekonany.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 20:26