- 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
//Функция обработки ошибок PHP
set_error_handler('error_php');
function error_php($errno, $errstr, $errfile, $errline)
{
if (!error_reporting())
{
return;
}
switch ($errno)
{
case E_WARNING:
case E_USER_WARNING:
$errfile = str_replace(getcwd(), '', $errfile);
require(ROOT_DIR.'/messages/errors/error_php.php');
exit;
break;
}
}
class mysql_db {
private $db;
function __construct() { //Метод вызываемый автоматически для присоединения к MySQL и выбора БД.
$this->db=mysql_pconnect(MySQL_Host, MySQL_User, MySQL_Pass) or mysql_err('Не удалось соединиться с MySql.','Проверьте настройки параметров - MySql_Host, MySql_User, MySql_Pass в файле config.php');
@mysql_select_db(MySQL_DB,$this->db) or $this->mysql_err('Не удалось выбрать БД.','#'.mysql_errno().': '.mysql_error());
@mysql_query('SET NAMES '.$this->str_sql(MySQL_Character), $this->db) or mysql_err('Не удается установить кодировку.','#'.mysql_errno().': '.mysql_error());
}
private function str_sql ($sql) {
return mysql_real_escape_string($sql);
}
private function mysql_err($txt,$error) {
require(ROOT_DIR.'/messages/errors/error_db.php');
exit;
}
public function query($sql) {
$result=mysql_query($sql) or $this->mysql_err('Не удается выполнить запрос к БД.','#'.mysql_errno().': '.mysql_error().'<br />--------------------------<br />SQL: '.$sql);
return $result;
}
public function count_rows($table,$where='') { //Метод подсчета количества строк в таблице.
if($where!='') { $where=' WHERE '.$where; }
$result=$this->query('SELECT COUNT(1) FROM `'.$table.'`'.$where);
return mysql_result($result,0);
}
public function inc($table,$data,$where='',$inc=1) {
if($where!='') { $where=' WHERE '.$where; }
$inc=(int)$inc;
$query='`'.$data.'`=`'.$data.'`+'.$inc;
$query='UPDATE `'.$table.'` SET '.$query.' '.$where;
$this->query($query);
return mysql_affected_rows();
}
public function dec($table,$data,$where='',$dec=1) {
if($where!='') { $where=' WHERE '.$where; }
$dec=(int)$dec;
$query='`'.$data.'`=`'.$data.'`-'.$dec;
$query='UPDATE `'.$table.'` SET '.$query.' '.$where;
$this->query($query);
return mysql_affected_rows();
}
public function insert_id() { //ID добавленной записи.
$int=mysql_result($this->query('SELECT LAST_INSERT_ID()'),0);
return $int;
}
public function select($table,$data='*',$where='') { //Метод запроса данных в таблице.
if($where!='') { $where=' WHERE '.$where; }
$query='SELECT '.$data.' FROM `'.$table.'` '.$where;
$result=$this->query($query);
return $result;
}
public function insert($tabl,$data) {
foreach ($data as $key=>$val) {
$k[]='`'.$key.'`';
$v[]='\''.$this->str_sql($val).'\'';
}
$k=implode(",",$k);
$v=implode(",",$v);
$query='INSERT INTO `'.$tabl.'` ('.$k.') VALUE ('.$v.')';
$this->query($query);
return mysql_affected_rows();
}
public function update($table,$data,$where='') { //Метод обновления данных в таблице.
if($where!='') { $where=' WHERE '.$where; }
foreach ($data as $key=>$val) {
$query[]='`'.$key.'`=\''.$this->str_sql($val).'\'';
}
$query=implode(',',$query);
$query='UPDATE `'.$table.'` SET '.$query.' '.$where;
$this->query($query);
I wrote this code, if that is not so please tell me.