Chciałbym przedstawić wam moją klasę obsługującą MySQL, jestem początkującym i napisałem ją w ramach ćwiczeń, prosiłbym o porady co poprawić, co robić lepiej, i ogólnie opinie co wam się podoba a co nie i co byście tam jeszcze dodali/usunęli z góry dzięki za wszystkie odpowiedzi :)
Oto klasa:
class mysql
{
var $host;
var $user;
var $password;
var $database;
var $querys;
var $query;
var $status;
var $handle;
var $sql_result;
var $db_error;
var $connected;
function mysql($host = DB_HOST, $user = DB_USER, $password = DB_PASSWORD, $database = DB_NAME)
{
$this->host = $host;
$this->user = $user;
$this->password = $password;
$this->database = $database;
$this->querys = null;//ilsc zapytan
$this->query = null;//zapytanie
$this->handle = null;//uchwyt polaczenia
$this->sql_result = null;//ilosc wynikow
$this->db_error = null;//bledy
$This->connected = null;//stan polaczenia
$this->connect();
return $this->connected;
}
function connect(){
$this->connected = true;
$this->handle = mysql_connect($this->host, $this->user, $this->password) or $this->connected = false;
$this->set_db();
return $this->connected;
}
function set_db($new_database=''){
if ($new_database) $this->database = $new_database;
if ($this->connected) @mysql_select_db($this->database,$this->handle) or $this->set_error('Nie wybrano bazy danych : <b>'.$this->database.'</b><br />Powód : '.mysql_error($this->handle));
}
function set_error($err){
echo "<p><font color='#CC0000'>[Blad SQL]</font>:<br />$err</p>\n";
$this->db_error .= $err.'<br />';
}
function query($query, $escape = true){
if($this->connected) $this->querys++;
if($escape) $query = mysql_real_escape_string($query);
$this->query = @mysql_query($query, $this->handle) or $this->set_error('Nie wykonano zapytania : <b>'.$query.'</b><br />Powód : '.mysql_error($this->handle));
$this->sql_result = @mysql_num_rows($this->query);
return $this->query;
}
function disconnect(){
$this->connected = 0;
@mysql_close($this->handler) or $this->connected = 1;
mysql_free_result($this->query);
$this->querys = null;
$this->handle = null;
$this->result = null;
$This->db_error = null;
}
}