najlepiej działa PDO - ale gdy jest więcej niż jedna procedura, a nawet gdy jest sytuacja taka, że procedura występuje na pierwszym miejscu to już przy następnym zapytaniu mam błąd 2014
rozwiązaniem tego problemu jest - lepszego nie znalazłem - zrobienie takiego czegoś, że po zapytaniu-procedurze trzeba ustanowić nowe połączenie z bazą danych - wtedy działa i jest dobrze, ale nie jest wydajnie
ADOdb i ADOdbLite - nie widzą wyników procedury - zwyczajnie jak po zapytaniu daję print_r($wynik); to pusty ekran jest;(takie pytanie różni się to czymś - bo wszędzie jest komentarz, że ADOlite to tylko odchudzona ADOdb)
ADOdb500 - wywala błąd PROCEDURE projektZal.selectRes can't return a result set in the given context
PEAR DB wywala błąd
Creole - nie pamiętam co, ale też nie działało
nie wiem, jakby miał ktoś jakiś pomysł jak to rozwiązać - ja za bardzo napaliłem się na te procedury i zrobiłem najpierw wszystko w bazie danych - a potem sprawdzałem jak to jest w PHP i teraz nie chcę mi się tych wszystkich zapytań przenosić do PHP i szukam jakiegoś wyjścia
właśnie nie wiem, czy ja coś źle robię, czy to jeszcze nie działa jak trzeba, bo z tego co wiem to te procedury są w MySQL-u dopiero od niedawana od 5.0 wersji, może w połączeniu z inną bazą z PostreSQL czy z MsSQL to będzie lepiej działać - może ktoś miał jakoś do czynienia z procedurami i z PHP (i najlepiej z MySQL)
jakby ktoś chciał rozwiązanie:
1 tworzę sobie klasę
<?php class connectDB { private function __construct () {} { $config = Zend::registry('config'); self::$dbConn = Zend_Db::factory($config->db->adapter, $config->db->config->asArray()); return self::$dbConn; } } ?>
a potem przed wywołaniem funkcji - łącze się z bazą danych
$db = connectDB::setConnection() ;
wydajne to, to nie jest - ale najważniejsze działa - żadnych straconych połączeń (2013) żadnych błędów 2014, 2050 itp itd
no i jak na razie nic lepszego i mądrzejszego w tej sprawie nie wymyśliłem