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 public function __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 throw new 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 } public function 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 throw new 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 } public function 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 throw new Exception('Blad zapytania: (INSERT) '.mysql_error());//rzucamy wyjatek return mysql_affected_rows ($this->res);//zwracany ilosc dodanych rekordow } public function 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 throw new Exception('Blad zapytania: (DELETE) '.mysql_error());//rzucamy wyjatek return mysql_affected_rows ($this->res);//zwracamy ilosc usunietych } public function 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 ($what as $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 throw new Exception('Blad zapytania: (UPADATE) '.mysql_error());//rzucamy wyjatek return mysql_affected_rows ($this->res);//ilosc przetworzonych wierszt } public function __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