Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Porównanie najpopularniejszych sposobów łączenia z bazą MYSQL
Forum PHP.pl > Forum > PHP
galthran
Witam po dłuższej przerwie smile.gif

Otórz zaczynając przygodę z php i MySQL'em na początku używałem w php 4.x do łączenia się z bazą MySQL standardoweej funkcji:
  1. <?php
  2. mysql_connect('host','user','passwd') or 
  3. die ('nie można połączyć się z bazą danych');
  4. mysql_select_db('db') or
  5. die ('nie można wyselekcjonować bazy danych');
  6. // itd
  7. ?>

Później poczytałem troche o bibliotekach PEAR i zacząłem używać DB.php
  1. <?php
  2. $dsn='mysql://$user:$passwd@tpc($host)/$db_name';
  3. if(DB::isError($this->db=DB::connect($dsn))){
  4. return PEAR::raiseError($this->db->getMessage());
  5. }
  6. // itd
  7. ?>


Natomiast ostatnio trafiła w moje ręce książka o php 5 gdzie wprowadzono nowe rozszerzenie MySQL nazwane Improved MySQL (mysqli)
  1. <?php
  2. $db=mysqli_connect($server,$user,$passwd,$db_name,3306) or
  3. die('Nie mozna nawiazac polaczenia:' . mysqli_error());
  4. $result=mysqli_query($db,'SELECT user FROM user');
  5. while($row=mysqli_fetch_assoc($result)){
  6. print $row['user'].'n';
  7. }
  8. mysqli_free_result($result);
  9. mysqli_close($db);
  10. ?>


I na końcu moje pytanie: które z tych rodzajów połączenie stosujecie i dlaczego, oraz które wydaje się wam najlepsze.

Pozdrawiam
mike
Oj, sporo musisz jeszcze poczytać manuala.
Bo te pytania są, hmmmm, niepotrzebne.

Nie tylko poczytaj o PEAR ale tez zajrzyj w kod źródlowy, zobaczysz że metoda DB::connect sprowadza sie do wywołania mysql_connect albo mysqli_connect.
I już jedna opcja z sobdy Ci odpada tongue.gif

Teraz poczytaj sobie dokładnie po co zostało wprowadzone mysqli a dowiesz się że pytanie "co lepiej" jest bezsensowne.

P.S.
Przenoszę na php bo z bazą MySQL to ma jednek mał wspólnego.
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.