Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MSSQL][Zend] problem z wydrukowaniem wyniku zapytania z bazy danych
Forum PHP.pl > Forum > Przedszkole
PROGer
  1. try {
  2. $res = $this->_db->fetchAll("SELECT name from users where id = 'X000001'");
  3. Zend_Debug::dump($res);exit();
  4. } catch (Exception $e) {
  5. require_once 'Zend/Auth/Adapter/Exception.php';
  6. throw new Zend_Auth_Adapter_Exception('Podane parametry spowodowaly wygenerowanie blednego zapytania');
  7. }


Mam problem z wydrukowaniem wyniku ze zmiennej $res. Aplikacja od razu wyrzuca wyjątek z catch "Podane parametry spowodowaly wygenerowanie blednego zapytania", pomimo zastosowania exit(); po Zend_Debug.

Gdzie robię błąd?
nospor
A co ma do tego exit? Wyjatek leci jeszcze przed exitem i od razu wskakuje w blok CATCH. Jak chcesz wiec robic DUMP to masz zrobic w bloku CATCH
Turson
Rzucony wyjątek przerywa dalsze wykonywanie try{} stąd
  1. Zend_Debug::dump($res);exit();
nie wykona się. Albo wywal caly blok przechwytywania wyjątku, albo dumpnij $e w catch{}
PROGer
ok dzięki, rozumiem w czym był błąd.

Jeśli wrzucę dumpa do catch:

  1. try {
  2. $res = $this->_db->fetchAll("SELECT name from users where id = 'X000001'");
  3.  
  4. } catch (Exception $e) {
  5. Zend_Debug::dump($res);exit();
  6. require_once 'Zend/Auth/Adapter/Exception.php';
  7. throw new Zend_Auth_Adapter_Exception('Podane parametry spowodowaly wygenerowanie blednego zapytania');
  8. }


Mam błąd o niezadeklarowanej zmiennej res, a przecież w blok try wchodzi 0_o dlaczego? linijka 139 to ta w stawionym powyżej dumpem.


  1. PHP Notice: Undefined variable: res in C:\Inetpub\wwwroot\test\application\models\DPCAuthAdapter.php on line 139



Natomiast jak wyrzucę blok catch to:


  1. PHP Parse error: syntax error, unexpected T_IF, expecting T_CATCH in C:\Inetpub\wwwroot\test\application\models\DPCAuthAdapter.php on line 146


Gdzie w tej linijce mam ifa z kolejnymi warunkami w zalezności od wartości $res.


EDIT:
chyba tak powinienem zrobić smile.gif

  1. Zend_Debug::dump($e);exit();


Wygląda na to że sprawa dotyczy uprawnień. To baza MSSQL:

  1. General error: 10007 SELECT permission denied on object 'users', database 'xxx', schema 'dbo'. [10007] (severity 5) [(null)]"


Jak nadaje się takie uprawnienia?
mmmmmmm
GRANT SELECT ON ... TO ...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.