Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Klasa do obsługi bazy danych...poprawcie
Joachim Peters
post
Post #1





Grupa: Zarejestrowani
Postów: 196
Pomógł: 2
Dołączył: 1.03.2006

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


Od niedawna dopiero zaczełem interesować się php5 i dzisiaj napisałem sobie taką klase do obsługi bazy danych:

  1. <?php
  2. class DB 
  3. {
  4.  private $dbc;
  5.  public $sql_queries = 0;
  6.  
  7.  public function __construct($db_user, $db_name, $db_pass, $db_host)
  8.  {
  9.  $this->dbc = @mysql_connect($db_host, $db_user, $db_pass) OR die ('Nie mogłem połączyć się z MySQL-em: ' . mysql_error() );
  10.  @mysql_select_db($db_name) OR die ('Nie udało mi się wybrać bazy danych: ' . mysql_error() );
  11.  }
  12.  
  13.  public function query($sql) 
  14.  {
  15.  $this->sql_queries++; 
  16.  return @mysql_query($sql);
  17.  }
  18.  
  19.  public function fetch($result) 
  20.  {
  21.  return mysql_fetch_array($result);
  22.  }
  23.  
  24.  public function show_query() 
  25.  {
  26.  print "<br />Zapytań SQL: <b>{$this->sql_queries}</b>";
  27.  }
  28.  
  29. }
  30. ?>


i przykład:

  1. <?php
  2. $db = new DB('root', 'user', 'pass', 'localhost');
  3.  
  4. $sql = "SELECT * FROM table";
  5. $result = $db->query($sql);
  6.  
  7. while($row = $db->fetch($result)) 
  8. {
  9. echo $row['cos'];
  10. }
  11.  
  12. $db->show_query();
  13. ?>


tak jak pisałem wyżej, dopiero zaczynam z php5 więć moge robić błędy...proszę o pisanie co jest w tej klasie żle napisane i uwagi co moge dodać.

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Joachim Peters
post
Post #2





Grupa: Zarejestrowani
Postów: 196
Pomógł: 2
Dołączył: 1.03.2006

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


Mam teraz tak
  1. <?php
  2.  
  3. class DB 
  4. {
  5.  private $dbc;
  6.  public $sql_queries = 0;
  7.  
  8.  public function __construct($db_user, $db_name, $db_pass, $db_host)
  9.  {
  10.  $this->dbc = @mysql_connect($db_host, $db_user, $db_pass);
  11.  mysql_select_db($db_name);
  12.  }
  13.  
  14.  public function query($sql) 
  15.  {
  16.  $this->sql_queries++; 
  17.  return @mysql_query($sql);
  18.  }
  19.  
  20.  public function fetch($result) 
  21.  {
  22.  return mysql_fetch_array($result);
  23.  }
  24.  
  25. public function show_query() 
  26.  {
  27.  print "<br />Zapytań SQL: <b>{$this->sql_queries}</b>";
  28.  }
  29.  
  30.  public function close()
  31.  {
  32.  return mysql_close();
  33.  }
  34.  
  35. }
  36.  
  37.  
  38. try
  39. {
  40. $db = new DB('root', '', '', 'localhost');
  41.  
  42. $sql = "SELECT * FROM table";
  43. $result = $db->query($sql);
  44.  
  45. while($row = $db->fetch($result)) 
  46. {
  47. echo $row['cos'];
  48. }
  49.  
  50. $db->show_query();
  51. $db->close();
  52.  
  53. } catch( DBException $e )
  54. {
  55. die('blad');
  56. }
  57.  
  58. ?>


i wywala mi
Fatal error: Class 'DBException' not found in index.php on line 52
co robie zle?

Ten post edytował d@ro 10.08.2006, 07:55:14
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 22.10.2025 - 14:45