Mateusz Mazurek – programista z pasją

Blog o Pythonie i kilku innych technologiach. Od developera dla wszystkich.

ProgramowanieProgramowanie webowe

[PHP] Prosta klasa do obsługi MySql

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>';

}
Dzięki za wizytę,
Mateusz Mazurek

A może wolisz nowości na mail?

Subskrybuj
Powiadom o
guest

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

1 Komentarz
Inline Feedbacks
View all comments