select_db('БД'); // выполнение SQL запроса. // если установлен префикс к таблицам, обработчик подставляет его в выражения : // --- SELECT * FROM `имя таблицы` // --- INSERT INTO `имя таблицы` // --- UPDATE `имя таблицы` // --- DELETE FROM `имя таблицы` // также, он подствялет префикс в выражения наподобии "`table_one`.`field_one`" $resource = $db -> sql('SQL запрос'); // получение одиночного результата $string = $db -> one('SQL запрос'); // последний вставленны идентификатор $integer = $db -> last_id(); // результат запроса в виде массива $array = $db -> allfetch('SQL запрос'); // результат запроса, для прохождения в цикле while // в качестве единственного параметра, можно указать SQL запрос ($db -> fetch('SQL запрос')) , либо уже ресурс SQL запроса ($db -> fetch($sql_resource)) while($data = $db -> fetch('SQL запрос')) { echo $data['id']; } // проверка статуса соединения $bool = $db -> connect(); */ class SW { public $mysql_prefix = null; private $mysql_connect = false; private $connected = false; private $mysql_db = null; private $fetch_sqls = array(); function __construct($user = 'root',$password = null,$host = 'localhost',$db = null,$prefix = null) { if(!($this -> mysql_connect = @mysql_connect($host,$user,$password))) { $this -> fatalError('Невозможно установить соединение'); } $this -> connected = true; @mysql_query('SET NAMES utf8',$this -> mysql_connect); if(!empty($prefix)) { $this -> mysql_prefix = $prefix; } if(!empty($db)) { if(!(@mysql_select_db($db,$this -> mysql_connect))) { $this -> fatalError('Невозможно выбрать бд'); } $this -> mysql_db = $db; } } function __destruct() { if($this -> connected) { @mysql_close($this -> mysql_connect); } } public function select_db($db = null) { if(!(@mysql_select_db($db,$this -> mysql_connect))) { $this -> fatalError('Невозможно выбрать бд'); } $this -> mysql_db = $db; } public function sql($sql = null) { $this -> only_connect(); if(empty($sql)) { $this -> fatalError('Не указан SQL запрос'); return false; } if(!empty($this -> mysql_prefix)) { $sql = preg_replace('~`([^[:space:]]*)`\.`([^[:space:]]*)`~U','`'.$this -> mysql_prefix.'$1`.`$2`',$sql); preg_match_all('~(FROM|INSERT INTO|UPDATE|DELETE FROM) `(.*)`~siUu',$sql,$finds); for($c = count($finds[0]),$i = 0;$i < $c;$i ++) { $sql = str_replace($finds[0][$i],$finds[1][$i].' `'.$this -> mysql_prefix.$finds[2][$i].'`',$sql); } } if(!($result = @mysql_query($sql,$this -> mysql_connect))) { $this -> fatalError('
Ошибка в SQL запросе "'.$sql.'"
: '.@mysql_error($this -> mysql_connect).'