• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pokazywanie danych logowania do MySQL przy błędzie połączenia

Hosting forpsi easy 1 pln
+1 głos
199 wizyt
pytanie zadane 7 lutego w SQL, bazy danych przez zbiku25 Bywalec (2,940 p.)

Łączę się z bazą danych przy pomocy następującej funkcji

mysqli_connect($host, $user, $pass, $db_name)

W przypadku gdy z jakiegoś powodu nie mogę połączyć się z bazą wyskakuje komunikat o błędzie i zawiera on dane logowania do bazy.

Czy możecie doradzić jakiś efektywny sposób aby taki komunikat w przypadku błędu się nie pojawiał? Uczę się na języku proceduralnym nie obiektowym.

Pozdrawiam,

2 odpowiedzi

+2 głosów
odpowiedź 7 lutego przez wizarddos Pasjonat (24,860 p.)
wybrane 8 lutego przez zbiku25
 
Najlepsza
Możesz zmienić wyświetlanie wszystkich błędów w pliku konfiguracyjnym PHP (php.ini)

Wystarczy znaleźć linijkę displayErrors (czy jakoś tak) i podmienić on na off

Ewentualnie jeżeli chcesz wyciszyć tylko błędy połączenia - napisz obsługę błędów z użyciem mysqli_connect_errno()

Nie polecam tego robić na serwerze deweloperskim, bo te błędy się przydają. Za to na produkcji jak najbardziej nie powinno się wyświetlać błędów
komentarz 7 lutego przez zbiku25 Bywalec (2,940 p.)

Dziękuję. 

Napisałem obsługę błędu jak poniżej

public function connect()
			{
				mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
				try
				{
					$conn=mysqli_connect($this->db_host, $this->db_user, $this->db_password, $this->db_name);
					
					if( mysqli_connect_errno!=0)
					{
						throw new Exception(mysqli_connect_errno);
					}
				}
				catch(Exception $e)
				{
					echo "Błąd połączenia";
				}
			}

Zależało mi aby wyświetlił się wyłącznie napis "Błąd połączenia". Oprócz niego wyświetla się jeszcze 

Warning: mysqli_connect(): php_network_getaddresses: getaddrinfo for localost failed: Nieznany host. in C:\xampp\htdocs\akor\classes\class_database.php on line 16

Czy jest możliwość aby ten Warning się nie wyświetlał używając jedynie kodu (bez zmiany php.ini ?

1
komentarz 7 lutego przez overcq Pasjonat (20,490 p.)

display_errors oraz ini_set()

0 głosów
odpowiedź 7 lutego przez reaktywny Nałogowiec (38,280 p.)
Chodzi o PHP? Nie pomogę, ale trochę się dziwie że komunikat błędu zawiera te dane. Może jest jakiś debug mode, czy coś podobnego? Generalnie dane dostępowe umieszcza się w zmiennych środowiskowych.
komentarz 7 lutego przez zbiku25 Bywalec (2,940 p.)
tak PHP, dzięki za odzew
komentarz 7 lutego przez reaktywny Nałogowiec (38,280 p.)
NIe ma za co, wizarddos podał rozwiązanie na tacy.

Podobne pytania

0 głosów
0 odpowiedzi 156 wizyt
0 głosów
2 odpowiedzi 1,634 wizyt
0 głosów
1 odpowiedź 189 wizyt
pytanie zadane 22 maja 2020 w SQL, bazy danych przez Greeenone Pasjonat (16,100 p.)

92,092 zapytań

140,751 odpowiedzi

317,718 komentarzy

61,409 pasjonatów

Advent of Code 2023

Top 15 użytkowników

  1. 0p. - adrian17
  2. 0p. - wizarddos
  3. 0p. - Dewidos
  4. 0p. - Marcin Jasiński
  5. 0p. - Mateusz Sobala
  6. 0p. - Mateusz
  7. 0p. - NOONE
  8. 0p. - Adam Śpiewak
  9. 0p. - WhiskeyTaster
  10. 0p. - Rafał Budzis
  11. 0p. - Krzysztof Zawadka
  12. 0p. - tokox
  13. 0p. - TheLukaszNs
  14. 0p. - mjavor
  15. 0p. - Jakub Stępień
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia w koszyku, uzyskując rabat aż -50% (jeszcze tylko dziś 30.11 z okazji Black Week, a potem będzie to 30%) na bilety w wersji "Standard"! Więcej informacji na temat akademii znajdziecie tutaj. Dziękujemy Sekurakowi za tak fajną zniżkę dla Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 15% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...