Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MSSQL][Zend] problem z wydrukowaniem wyniku zapytania z bazy danych
PROGer
post 1.07.2015, 08:50:21
Post #1





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 30.04.2015

Ostrzeżenie: (0%)
-----


  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?

Ten post edytował PROGer 1.07.2015, 08:51:18
Go to the top of the page
+Quote Post
nospor
post 1.07.2015, 09:00:19
Post #2





Grupa: Moderatorzy
Postów: 36 442
Pomógł: 6290
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Turson
post 1.07.2015, 09:03:04
Post #3





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


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{}

Ten post edytował Turson 1.07.2015, 09:03:24
Go to the top of the page
+Quote Post
PROGer
post 1.07.2015, 09:25:05
Post #4





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 30.04.2015

Ostrzeżenie: (0%)
-----


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?


Ten post edytował PROGer 1.07.2015, 09:21:28
Go to the top of the page
+Quote Post
mmmmmmm
post 1.07.2015, 09:54:29
Post #5





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


GRANT SELECT ON ... TO ...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.04.2024 - 02:42