chcę zrobić coś z procedurami składowanymi i z PHP, ale jest problem bo jak na razie nie współpracuje to dobrze - można powiedzieć, że nie współpracuje w ogóle

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ę

  1. <?php
  2. class connectDB
  3. {
  4. private static $dbConn;
  5.  
  6. private function __construct ()
  7. {}
  8.  
  9. public static function setConnection ( )
  10. {
  11.  $config = Zend::registry('config');
  12. self::$dbConn = Zend_Db::factory($config->db->adapter,
  13. $config->db->config->asArray());
  14.  return self::$dbConn; 
  15. } 
  16. }
  17. ?>


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