Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Klasa DB i operacje na dwóch różnych bazach
pionas
post 6.05.2011, 07:43:26
Post #1





Grupa: Zarejestrowani
Postów: 70
Pomógł: 2
Dołączył: 25.03.2009
Skąd: Pionki

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


Cześć,

mam taką klasę:
  1. <?
  2. class db {
  3.  
  4. // zmienne publiczne - dostępne poza klasą
  5. public $connection; // połączenie
  6.  
  7. public function __construct($host, $user, $dbase, $pass){
  8.  
  9. if ($connection = mysql_connect($host, $user, $pass)) {
  10. if(mysql_select_db($dbase, $connection)) {
  11. $this->connection = $connection;
  12. return true;
  13. } else {
  14. throw new Exception (mysql_error());
  15. return false;
  16. }
  17. } else {
  18. throw new Exception(mysql_error());
  19. return false;
  20. }
  21.  
  22. } // eof connect()
  23.  
  24. public function select($sql) {
  25.  
  26. if ($this->connection) {
  27. mysql_set_charset('utf8', $this->connection);
  28. if (isset($sql) && $sql != '') {
  29. if($result = mysql_query($sql)) {
  30. return $result;
  31. } else {
  32. throw new Exception(mysql_error());
  33. return false;
  34. }
  35. } else {
  36. throw new Exception('Błąd zapytania SQL');
  37. return false;
  38. }
  39. } else {
  40. throw new Exception('Brak połączenia z bazą danych');
  41. return false;
  42. }
  43.  
  44. } // eof select()
  45.  
  46. public function query($sql){
  47.  
  48. if (isset($sql) && $sql != '') {
  49. if ($this->connection) {
  50. mysql_set_charset('utf8', $this->connection);
  51. if (mysql_query($sql)){
  52. return true;
  53. } else {
  54. throw new Exception(mysql_error());
  55. return false;
  56. }
  57. } else {
  58. throw new Exception('Brak połączenia z bazą danych');
  59. return false;
  60. }
  61. } else {
  62. throw new Exception('Błąd zapytania SQL');
  63. return false;
  64. }
  65.  
  66. } // eof query()
  67.  
  68. public function close(){
  69. if ($this->connection){
  70. if (mysql_close($this->connection)){
  71. return true;
  72. } else {
  73. throw new Exception(mysql_error());
  74. return false;
  75. }
  76. } else {
  77. throw new Exception('Brak aktywnego połączenia');
  78. return false;
  79. }
  80.  
  81. } // eof close()
  82.  
  83. }
  84. ?>


Wywołują ją tak:

  1. try {
  2. $objDB = new db(DB_HOST, DB_NAME, DB_USER, DB_PASSW);
  3. } catch (Exception $e) {
  4. echo $e->getMessage();
  5. exit(1);
  6. }
  7.  
  8. try {
  9. $objDB1 = new db(DB_HOST1, DB_NAME1, DB_USER1, DB_PASSW1);
  10. } catch (Exception $e) {
  11. echo $e->getMessage();
  12. exit(1);
  13. }


Próbując wykonać jakieś operacje na $objDB wykonuje mi je na $objDB1 - jak to rozwiązać?

Dziękuję i pozdrawiam
Adrian Pionka


--------------------
Organizujesz konkurs? Chcesz coś wygrać? Wejdź na www.e-Konkursy.info :)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
wookieb
post 6.05.2011, 07:47:55
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Spróbuj uzyć 4 parametru http://pl.php.net/mysql_connect


--------------------
Go to the top of the page
+Quote Post
Hpsi
post 6.05.2011, 08:20:33
Post #3





Grupa: Zarejestrowani
Postów: 483
Pomógł: 50
Dołączył: 15.03.2005
Skąd: Poznań

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


Ze tak sie spytam, po co tworzysz nową do połączeń mysql - rozumiem swoje rozwiązania zawsze są najlepsze wink.gif ale jak chcesz już coś kombinować pomyśl nad zastosowaniem pdo


--------------------
Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga
Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie
Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas

===
po prostu kocham ją :D haha
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 01:04