1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | class db{ private$db_user="root";//user bazy danych private$db_pass="";//haslo private$db_host="locadlhost";//host private$db_db="testowa"//baza danych do ktorej sie logujemy private$db_charser="utf-8";//kodowanie znakow private$res;// #resource publicfunction __construct(){ $this->res=mysql_connect($this->db_host,$this->db_user,$this->db_pass);//laczymy sie z baza danych if($this->res==false)//jesli sie nie udalo thrownew Exception('Blad polaczenia z baza: '.mysql_error());//rzucamy wyjatek mysql_select_db($this->db_db,$this->res);//wybieramy baze danych mysql_set_charset($this->db_charser,$this->res);//ustawiamy kodowanie } publicfunction select($what,$from,$others=""){// do wybierania z bazy baych informacji. Zwraca tablice. /* $what = co pobieramy z bazy (string) $from = z jakiej tabeli $others daje mozliwosc dodania np klauzuli WHERE */ $s="SELECT $what from $from$others";//tworzymy $t=mysql_query($s,$this->res);//wykonujemy zapytanie if($t==false)// jesli sie nie powiodło thrownew Exception('Blad zapytania (SELECT) : '.mysql_error());//rzucamy wyjatek while($r=mysql_fetch_object($t))//przepisujemy cala tablice z bazy danych na jedna tablice { $g[]=$r; } return$g;// zwracamy utworzona tablicey } publicfunction insert($where,$values=""){//dodawanie do bazy danych. /* $where - gdzie $values - wartosci do dodania w formaie stringa w forime '$param1','$param2','$param3','$param4' */ $s="INSERT INTO $where VALUES($values)";//zapytanie $t=mysql_query($s,$this->res);//wywolujemy zapytanie if($t==false)//jesli sie nie powiodlo thrownew Exception('Blad zapytania: (INSERT) '.mysql_error());//rzucamy wyjatek returnmysql_affected_rows($this->res);//zwracany ilosc dodanych rekordow } publicfunction del($from,$where){//usuwanie z bazy danych /* $from - skad $where - gdzie */ $s="DELETE FROM $from WHERE $where";//zapytanie $t=mysql_query($s,$this->res);//wywolujemy je if($t==false)//jesli nie poszlo thrownew Exception('Blad zapytania: (DELETE) '.mysql_error());//rzucamy wyjatek returnmysql_affected_rows($this->res);//zwracamy ilosc usunietych } publicfunction update($from,$what,$where){//poprawianie danych /* $from - skad $what - co (string lub array) $where - gdzie */ if(is_array($what)){//jesli what to tablica $s="UPDATE $from SET ";//poczatek zapytania foreach($whatas$r=>$t){ $s.=" $r='$t',";//sklejamy } $s=substr($s,0,strlen($s)-1);//usuwamy ostatni zbedny przecinek $s.=" WHERE $where";//doklejmy reszte }//jesli jest stringiem else $s="UPDATE $from SET $what WHERE $where";//wklejmy do zapytania $t=mysql_query($s,$this->res);//wykonjemy zapytanie if($t==false)//jesli nie dalo rady thrownew Exception('Blad zapytania: (UPADATE) '.mysql_error());//rzucamy wyjatek returnmysql_affected_rows($this->res);//ilosc przetworzonych wierszt } publicfunction __destruct(){//niszczenie instancji klasy mysql_close($this->res);//zamykamy polaczenie. } } |
Założmy że mamy tabele testy, wypisanie wszystkich rekordow moglibysmy zrealizowac takim kodem:
1 2 3 4 5 6 7 | $instacja=new db(); foreach($instacja->select("*","testy")as$a){ $a->imie.'<br>'; } |
Mateusz Mazurek