Syntax Highlighted Code: PHP
<?php
class DB {
public $Server;
public $Username;
public $Userpassword;
public $Database;
public $hadler;
public $query;
public function __construct ($Server, $Username, $Userpassword, $Database){
if (empty ($Server) || empty ($Username) || empty ($Database)){
throw new DBConnectException ("Can not connect to MySQL server... Some data is currently unavailable");
} else {
$DB_handler = @mysql_connect ($Server, $Username, $Userpassword);
if (!$DB_handler){
throw new DBConnectException ("Can not connect to MySQL server with following data");
}
if (!@mysql_select_db ($Database)){
throw new DBConnectException ("Can not select database [ connection established ]");
}
$this->handler = $DB_handler;
}
}
public function filter ($param){
return mysql_real_escape_string ($param);
}
private function build ($query, $params = array()){
$query = str_replace ('%', '%%', $query);
$query = str_replace ('?', '%s', $query);
$params = $this->prepare ($params);
return vsprintf ($query, $params);
}
private function prepare ($params){
if (is_array($params)) {
foreach ($params as &$param) {
$param = $this->prepare($param);
}
} else {
if (is_string($params)) {
return "'" . $this->filter($params) . "'";
} elseif (is_bool($params)) {
return $params ? true : false;
} elseif (is_null($params)) {
return 'NULL';
}
}
return $params;
}
public function result ($query){
return mysql_result ($query, 0, 0);
}
public function rows ($query){
return mysql_num_rows ($query);
}
public function fetch ($query){
$rows = array();
while ($row = mysql_fetch_assoc ($query)){
$rows[] = $row;
}
return $rows;
}
public function query ($query, $params = array()){
$query = $this->build ($query, $params);
$out = @mysql_query ($query, $this->handler);
if (!$out) throw new DBQueryException (mysql_error());
else return $out;
}
public function all ($query, $params = array()){
$handler = $this->query ($query, $params);
return $this->result ($handler);
}
}
Класс для работы с БД. Язык, естественно, PHP. СУБД - MySQL.
Класс еще не полностью дописан, но работать с ним можно уже сейчас вполне спокойно.
Syntax Highlighted Code: PHP
$this->DB->query ("UPDATE `".table_users."` SET email = ?, icq = ?, age = ?", array ($email, $icq, $age));