Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Lepiej łączyć z bazą przez zmienną
Forum PHP.pl > Forum > Przedszkole
Etil
  1. mysql_connect('localhost', 'root', 'haslo') or die('Nie można się połączyc z serweren: ' . mysql_error());
  2. mysql_select_db('baza') or die('Nie mozna polaczyc z baza: ' . mysql_error());


Czy:

  1. //stałe bazy danych
  2. $mysql_host = 'localhost';
  3. $mysql_login = 'root';
  4. $mysql_haslo = 'haslo';
  5. $mysql_baza = 'baza';
  6.  
  7. // połączenie z bazą danych
  8. $polaczenie = mysql_connect($mysql_host, $mysql_login, $mysql_haslo) or die('Błąd: nie udało się nawiązać połączenia z bazą danych.');
  9.  
  10. // połączenie ze schematem bazy danych
  11. mysql_select_db($mysql_baza) or die('Błąd: nie udało się wybrać schematu bazy danych.');


Co bardziej bezpieczne? A może jest jeszcze coś lepszego?
lobopol
Różnica jest właściwie tylko w wyświetlanej informacji przy błędzie. Użytkownikowi końcowemu nie powinniśmy pokazywać błędów mysql czyli druga opcja lepsza.
Giluś
Moim zdaniem jemu chodziło o to który skrypt jest bezpieczniejszy:

  1. mysql_connect('localhost', 'root', 'haslo') or die('');
  2. mysql_select_db('baza') or die('');


Czy
  1. $mysql_host = 'localhost';
  2. $mysql_login = 'root';
  3. $mysql_haslo = 'haslo';
  4. $mysql_baza = 'baza';
  5.  
  6. $polaczenie = mysql_connect($mysql_host, $mysql_login, $mysql_haslo) or die('');
  7. mysql_select_db($mysql_baza) or die('');
  8.  


Nigdzie nie są pokazywane, żadne dane, że jakiś bład jest czy wszystko jest poprawne itp ,sam się bardzo zastanawiam.
nospor
Oba pokazane tu kody w kwestii bezpieczeństwa są identyczne.

Zazwyczaj dane konfiguracyjne, w tym i dane do bazy, trzyma się oddzielnym pliku.
Etil
Cytat(nospor @ 29.08.2011, 14:28:39 ) *
Oba pokazane tu kody w kwestii bezpieczeństwa są identyczne.

Zazwyczaj dane konfiguracyjne, w tym i dane do bazy, trzyma się oddzielnym pliku.

O, zapomniałbym, lepiej dołączać je przez require, nie include - bo wywala błędy - tak słyszałem, czy to prawda?
!*!
require różni się tym od include że wstrzymuje działanie skryptu po napotkaniu błędu. Poza tym jak już to require_once, wczyta plik tylko raz, tak samo include_once. I przypisz to do stałych, różnie bywa w późniejszych zmianach w kodzie wink.gif

Jeśli pytasz o coś lepszego to PDO.
peter13135
require przerywa dzialaiee skryptu, a include nie. Tutaj lepsze więc będzie require
nospor
Zajrzyj do manuala i zobacz co robi require a co robi include. Tam masz wszystko opisane.
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.