![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 259 Pomógł: 1 Dołączył: 3.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
pisze modul do Magento 2 i musze polaczyc sie z zewnetrzna baza, napisalem wiec: Kod $db = new \Zend_Db_Adapter_Pdo_Mysql(array( 'host' => 'localhost', 'username' => 'xxxxx', 'password' => 'yyyyy', 'dbname' => 'xxxxx' )); laczy, wszystko dziala tylko nie moge znalezc informacji jak sprawdzac czy rzeczywiscie polaczyl sie z baza danych zebym w razie czego otrzymywal powiadomienie jezeli wystapily jakies bledy. Probowalem $db->isConnected() zawsze zwraca false nawet jak sa zle dane do bazy. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Mowisz ze laczysz sie z zewnetrzna baza a jako host dajesz localhost.... srednio ona zewnetrzna...
Cytat . Probowalem $db->isConnected() zawsze zwraca false nawet jak sa zle dane do bazy. No jak sa zle to wlasnie ma zwracac FALSE wiec jest wszystko okNo i na przyszlosc uzyj google... https://stackoverflow.com/questions/8138326...=google_rich_qa -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 259 Pomógł: 1 Dołączył: 3.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dane do bazy dla przykladu sa podane, tam jest warunek sprawdzajacy czy serwer jest lokalny czy nie.
Niestety sprawdzalem ten kod juz wczesniej (szukalem sporo) i mi nie dziala tak jak powinien, wkleilem go tak: Kod try { $db = \Zend_Db::factory('Pdo_Mysql', array( 'host' => 'cokolwiek', 'username' => 'xxx', 'password' => 'yyy', 'dbname' => 'xxx' )); $db->getConnection(); } catch (Zend_Db_Adapter_Exception $e) { // perhaps a failed login credential, or perhaps the RDBMS is not running return 'e1'; } catch (Zend_Exception $e) { // perhaps factory() failed to load the specified Adapter class return 'e2'; } return 'xxxx'; przy prawidlowych dostepach zwraca xxxx, jezeli nie sa prawidlowe (zle haslo), nie renderuje w ogole modulu i nie zwraca mi zadnego bledu. Niestety to modul w srodku magento i nie wiem jak znalezc przyczyne :/ Ten post edytował Octobus 6.06.2018, 10:13:17 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Skoro dajesz \ przed \Zend_Db to i dla wyjatkow moze by bylo warto, nie sadzisz?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 259 Pomógł: 1 Dołączył: 3.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
W sumie logicznie to dobry pomysl, dodalem, teraz tak wyglada czesc kodu:
Kod } catch (\Zend_Db_Adapter_Exception $e) { // perhaps a failed login credential, or perhaps the RDBMS is not running return 'e1'; } catch (\Zend_Exception $e) { // perhaps factory() failed to load the specified Adapter class return 'e2'; } return 'test'; zmienilem haslo na bledne ale modul sie nie renderuje :/ nie ma zadnej wartosci ktora zwraca. W index.php Kod error_reporting(E_STRICT | E_ALL); ini_set('display_errors',1); ale niczego nie wyswietla |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Dodaj jeszcze jeden catch
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 259 Pomógł: 1 Dołączył: 3.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Ok, dzisiaj na swiezo spojrzalem na to i zaczelo dzialac, okazalo sie ze zmienilem kod i w innym miejscu mialem blad. Kod 2 posty wyzej dziala, ten z \Zend_Db_Adapter_Exception i \Zend_Exception. Dzięki @nospor za cierpliwosc i pomoc
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 06:38 |