Cześć, mam problem z wywołaniem procedury aktualizującej dane, o tak:

  1. /*Ta procedura działa idealnie, zwraca tablicę i wszyscy są szczęśliwi*/
  2. DROP PROCEDURE IF EXISTS test //
  3. CREATE PROCEDURE test ()
  4. BEGIN SELECT * FROM TESTOWA; END//
  5.  
  6. /*Ta procedura działa idealnie, ale wywala wyjątek SQLSTATE[HY000]: General error */
  7. DROP PROCEDURE IF EXISTS testUpdate //
  8. CREATE PROCEDURE testUpdate ()
  9. BEGIN UPDATE TESTOWA SET STATUS = 1;
  10. END//


A do odczytania danych używam:

  1. <?php
  2.  
  3. try{
  4. try{
  5. $stmt = $db->getConnection()->query("CALL testUpdate");
  6.  $result= $stmt->fetchAll();
  7. if(!empty($result))
  8. new MDX_dbug( $result );
  9. else
  10. echo 'd*pa';
  11.  
  12. }
  13. catch(Exception $e){
  14.  
  15. echo $e->getMessage();
  16.  
  17. }
  18. ?>

Jak sprawdzić wynik zapytania update, myślałem, że empty($result) załatwi sprawę, ale nie sad.gif

już sobie sam odpowiedziałem, uzywać exec dla zapytań innych niż select
  1. <?php
  2. $result = $db->getConnection()->exec("CALL testUpdate");
  3. ?>