otóż jak wywoływana jest jako PIERWSZA procedura to nastepne zapytanie wywala się i jest błąd 2014 - jak na początku jest
SELECT (łącznie z funkcją), UPDTAE, INSERT to wszystko gada
ogólnie rzecz biorąc PIERWSZE ZAPYTANIE PO CALL WYWALA BŁĄD 2014
czemu i jak się tego pozbyć
mam xamppa - czyli php coś koło 5.2 mysql 5, PDO - jak to w xamppie
(co ciekawsze z pgplsql nie mialem takich problemów - może dlatego, że tam zapytanie nie zaczyna się od tego pieprzonego CALL)
jedynym wyjściem jest łączenie z bazą po każdym zapytaniu, ale to jest trochę mało wydajne - i ogólnie rozwiązanie do niczego
próbowałem znalezionych rozwiązań, ale nie działają - a coś takiego (nawet z tego forum)
<?php //nie będę cytował całego kodu, to tak na wypadek jakby ktoś chciał mnie pokierować w tą stronę ?>
powoduje taki rezultat
Połączenie zostało zresetowane
Połączenie z serwerem zostało zresetowane podczas wczytywania strony
jak będzie trzeba to oleje te całe procedury składowane i zrobie to standardowo po staremu - czyli zapytania w bazie, trochę wkurzyny jestem bo najpierw zrobiłem bazę, wszystko co trzeba - łacznie z zapytaniami (w funkcjach i procedurach) ucieszony, że teraz można takie coś podłączać gdzie bądź, bo napisanie CALL z argumentami jest prostsze niż SELECT z warunkami, a tutaj w PHP porażka taka
jak to zrobić, żeby było dobrze
ogólnie moja funkcja pytająca wygląda tak
<?php protected function executeQuery($query,$type=2,$tryb=PDO::FETCH_BOTH) { try { $stmt->execute(); } catch (PDOException $e) { } if($type==1) $this->_resArray=$stmt->fetchAll($tryb); elseif($type==2) $this->_resArray=$stmt->fetchRow($tryb); elseif($type==3) $this->_resArray=$stmt->rowCount(); $stmt -> closeCursor(); $stmt = null; //$this->reConnect(); return $this->getResArray(); } ?>
potem się to dziedziczy w klasie zapytań i to działa, do czasu gdy po CALL następuje kolejne zapytanie do bazy danych
może ktoś mi wyjaśnić, co i jak i dlaczego?