Просмотр файла mysql.php

Размер файла: 3.16Kb
<?php /*(c) Im-ieee*/
$conn=false; $p_nm_cch=false; $lock=false;
function m_conn(){
	global $conn; 
	($conn=mysql_connect(MY_HOST,MY_USER,MY_PASS)) or exit(ex_hn());
	mysql_select_db(MY_DB, $conn) or exit(ex_hn());
	mysql_query('SET NAMES "utf8"', $conn) or exit(ex_hn());
}
function lock($md){
	global $conn,$lock;
	$conn or m_conn();  
	$q=mysql_query('LOCK TABLE `'.MY_TBL.(($md=='r')?'` read':'` write'), $conn) or exit(ex_hn());
	$lock=true;
}
function rel_lock(){
	global $conn,$lock;
	if(!($lock&&$conn)){return;}
	mysql_query('UNLOCK TABLES', $conn) or exit(ex_hn());
}
function m_on_p(&$p, &$l){
	global $conn;
	$conn or m_conn();
	$p=(int)$p; $l=0;
	$ret=array(array(), array(), array());
	$mp=p_num();
	if($p>$mp||$p<1){$p=$mp;} 
	($q=mysql_query('SELECT `auth`,UNIX_TIMESTAMP(`date`),`post` FROM `'.MY_TBL.'` ORDER BY `id` LIMIT '.($p-1)*MESS_TOT.','.MESS_TOT, $conn)) or exit(ex_hn());
	$l=mysql_num_rows($q);
	while($arr=mysql_fetch_row($q)){
		$ret[0][]=$arr[0];
		$ret[1][]=$arr[1];
		$ret[2][]=$arr[2];
	}
	return $ret;
}
function p_num(){
	global $p_nm_cch,$conn;
	if($p_nm_cch===false){
		$conn or m_conn();
		($q=mysql_query('SELECT COUNT(`id`) FROM `'.MY_TBL.'`',$conn)) or exit(ex_hn());
		$p_nm_cch=ceil(mysql_result($q,0)/MESS_TOT);
	}
	return $p_nm_cch;
}
function last_wr(){
	global $conn;
	$conn or m_conn();
	($q=mysql_query('SELECT max(`id`) FROM `'.MY_TBL.'`',$conn)) or exit(ex_hn());
	$id=mysql_result($q,0);
	($q=mysql_query('SELECT UNIX_TIMESTAMP(`date`) FROM `'.MY_TBL.'` WHERE `id`='.$id,$conn)) or exit(ex_hn());
	return time()-mysql_result($q,0);
}
function wr($n, $m){
	global $conn;
	$conn or m_conn();
	mysql_query('INSERT INTO `'.MY_TBL.'`(`auth`,`post`) VALUES ("'.mysql_real_escape_string($n).'","'.mysql_real_escape_string($m).'")', $conn) or exit(ex_hn());
}
function get_mes($p, $n){
	global $conn;
	$conn or m_conn();
	$p=(int)$p; $n=(int)$n;
	$q=mysql_query('SELECT `auth`,UNIX_TIMESTAMP(`date`),`post` FROM `'.MY_TBL.'` ORDER BY `id` LIMIT '.(($p-1)*MESS_TOT+$n).',1', $conn);
	$q&&mysql_num_rows($q) or exit(ex_hn('Сообщение не найдено'));
	return mysql_fetch_row($q);
}
function ed_m($p, $n, $a, $d, $m){
	global $conn;
	$conn or m_conn();
	$p=(int)$p; $n=(int)$n;
	$q=mysql_query('SELECT `id` FROM `'.MY_TBL.'` ORDER BY `id` LIMIT '.(($p-1)*MESS_TOT+$n).',1', $conn);
	$q&&mysql_num_rows($q) or exit(ex_hn('Сообщение не найдено'));
	$id=mysql_result($q, 0);
	mysql_query('UPDATE `'.MY_TBL.'` SET `auth`'.'="'.mysql_real_escape_string($a).'", `date`=FROM_UNIXTIME('.$d.'), `post`="'.mysql_real_escape_string($m).'" WHERE `id`='.$id, $conn) or exit(ex_hn());
}
function del_m($p,$n){
	global $conn;
	$conn or m_conn();
	$p=(int)$p; $n=(int)$n;
	$q=mysql_query('SELECT `id` FROM `'.MY_TBL.'` ORDER BY `id` LIMIT '.(($p-1)*MESS_TOT+$n).',1', $conn);
	$q&&mysql_num_rows($q) or exit(ex_hn('Сообщение не найдено'));
	$id=mysql_result($q, 0);
	mysql_query('DELETE FROM `'.MY_TBL.'` WHERE `id`='.$id, $conn) or exit(ex_hn());
}
function ct_all(){
	$t=mysql_connect(MY_HOST,MY_USER,MY_PASS);
	if(!($t&&mysql_select_db(MY_DB,$t)&&($q=mysql_query('SELECT count(*) FROM `'.MY_TBL.'`', $t)))){return 0;}
	return mysql_result($q, 0);
}
?>