首页 > 后端开发 > php教程 > 从一个不错的留言本弄的mysql数据库操作类_php技巧

从一个不错的留言本弄的mysql数据库操作类_php技巧

WBOY
发布: 2016-05-17 09:39:08
原创
873 人浏览过

从一个不错的留言本弄的mysql数据库操作类,初学php的朋友可以参考下

复制代码 代码如下:

class mysql{
    var $querynum = 0;
    函数 connect($dbhost, $dbuser, $dbpw, $dbname = '',$dbcharset='') {
        if(!@mysql_connect($dbhost, $dbuser, $dbpw)) {
            $this->show('无法连接到 MySQL 服务器');
            返回 false;
        }
        if($dbname) {
            $this->select_db($dbname);
        }
        if($this->version() > '4.1' && $dbcharset) {
            $this->query("SET NAMES '".$dbcharset."'") ;
        }
        返回 true;
    }

    函数 select_db($dbname) {
        return mysql_select_db($dbname);
    }

    函数 fetch_array($query, $result_type = MYSQL_ASSOC) {
        return @mysql_fetch_array($query, $result_type);
    }

    函数查询($sql, $type = '') {
        if(!($query = mysql_query($sql))) $this->show('MySQL 查询错误', $sql);
        $this->querynum ;
        返回$query;
    }

    函数 affected_rows() {
        return mysql_affected_rows();
    }

    函数结果($query, $row) {
        return mysql_result($query, $row);
    }

    函数 num_rows($query) {
        return @mysql_num_rows($query);
    }

    函数 num_fields($query) {
        return mysql_num_fields($query);
    }

    函数 free_result($query) {
        return mysql_free_result($query);
    }

    函数insert_id() {
        return mysql_insert_id();
    }

    函数 fetch_row($query) {
        return mysql_fetch_row($query);
    }

    函数版本() {
        return mysql_get_server_info();
    }

    函数 close() {
        return mysql_close();
    }

    函数 error() {
        return mysql_error();
    }

    函数 show($message = '', $sql = '') {
        if(!$sql) echo $message;
        else echo $message.'
'.$sql.'
'.$this->error();
    }
}

类页扩展 mysql{
    函数分页($sql,$maxnum,$page,$maxpages,$pagepre,$ext=''){
        全局 $sum,$stail,$链接,$lmid,$ltail,$curpage;//$ext='&class=3'
        $SELF = $_SERVER['PHP_SELF'];

        $query = $this->query($sql);
        $rows = $this->fetch_array($query,MYSQL_NUM);
        $totalrows = $rows[0];

        $totalpages = ceil($totalrows/$maxnum);
        $startnum = ($page - 1)*$maxnum;
        $string = $sum.$totalrows.$stail.$sum.$page."/".$totalpages.$stail;

        if($page != 1){
            $string .= $link.$SELF."?page=1".$ext.$lmid."|            $string .=  $link.$SELF.'?page='.($page - 1).$ext.$lmid."←←".$ltail;
        }

        if($maxpages>=$totalpages){
            $pgstart = 1;$pgend = $totalpages;
        }
        elseif(($page-$pagepre-1 $maxpages)>$totalpages){
            $pgstart = $totalpages - $maxpages   1;
            $pgend = $totalpages;
        }
        else{
            $pgstart=(($page            $pgend=(($pgstart==1)?$maxpages:($pgstart $maxpages-1));
        }

        for($pg=$pgstart;$pg<=$pgend;$pg ){
            if($pg == $page){
                $string .=  $ curpage.$SELF."?page=".$pg.$ext.$lmid.$pg.$ltail;
            }
            else $string .=  $link.$SELF."?page=".$pg.$ext.$lmid.$pg.$ltail;
        }

        if($page != $totalpages){
            $string .=  $link.$SELF.'?page='.($page   1).$ext.$lmid .">>".$ltail;
            $string .=  $link.$SELF.'?page='.$totalpages.$ext.$lmid."›|".$ltail;
        }
        return $string;
    }
}

函数 html($str,$allowhtml=0){
    $str = get_magic_quotes_gpc()?$str:addslashes($str);
    if(!$allowhtml){$str = htmlspecialchars($str);}
    return $str;
}

函数 dehtml($str,$allowhtml=0){
    $str = stripslashes($str);
    if(!$allowhtml){$str = nl2br($str);}
    return $str;
}

函数 deip($str){
    $arr = explode('.',$str);
    $str = $arr[0].'.'.$arr[1].'.'.$arr[2].'.*';
    返回 $str;
}

功能设置($login=false){
    全局 $db,$mydbpre;
    if($login) $sql = “从{$mydbpre}设置中选择*”;
    else $sql = “从{$mydbpre}中选择*”设置 where 关键字!='用户名'和关键字!='密码'";
    $query = $db->query($sql);
    while($row = $db->fetch_array($查询)){
        $arr[$row['keyword']] = $row['val'];
        if($row['keyword'] == 'name') $arr['title '] = $row['val']。' - 由 PHPfans 提供支持';
    }
    return 
}

函数 checkcontent($content){
    global $db,$mydbpre,$mearr; $arrword = $arrip = array();
    $sql = “从 {$mydbpre}ban where b_type != 0 中选择*”;
    $query = $db->query($sql)
    while($row = $db->fetch_array($query)){
        if($row['b_type'] == 1) $arrword[] = $row['b_val']
        elseif($row['b_type'] == 2) $arrip[] = $row['b_reval'];
    }
    foreach($arrip as $value){
        $value = preg_quote ($value,'/');
        $value = str_replace('*','d{1,3}',$value);
        if(preg_match('/^('.$value. ')$/',$_SERVER['REMOTE_ADDR'])){
            showmessage($mearr[8],'index.php');
        }
    }
    foreach($arrword as $val){
        $val = preg_quote($val,'/');
        if(preg_match('/'.$val.'/',$content)){
            showmessage($mearr [7],'index.php');
        }
    }
}

函数替换词($content){
    全局 $db,$mydbpre$; sql=“从{$mydbpre}ban中选择*,其中b_type=0”;
    $query = $db->query($sql);
    while($row = $db->fetch_array($query)){
        $content = str_replace($row['b_val'],$row['b_reval'],$content);
    }
    返回$内容;
}

函数 showadmin($message,$referer=''){
    $str = '';
    if($referer != '') $str .= '';
    $str .= '
  
  
    信息提示
  
  
    '.$message;
    if($referer != '') $str .= '
  ;
  如果您的页面没有跳转,请点这里';

    $str .= '
  
  
  ';
    echo $str;
    退出;
}

函数 showmessage($message,$referer=''){
    全局 $setting,$db;
    $start = gettime();
    echo HTML PUBLIC "-//W3C//DTD HTML 4.0 过渡//EN">

<头>

php留言簿_提示信息

EOT;
    if($referer != '') echo '';
    echo <<
<身体>
;
EOT;
    require_once('header.html');
    echo 

php留言簿 提示信息


{$message}
EOT;
    if($referer != ''){
        echo 
如果您的浏览器没有自动跳转,请点击这里

EOT;
}
require_once('footer.html');
回声


EOT;
退出;
}

函数 gettime()
{
    $t = explode(" ",microtime());
    返回 $t[1]   $t[0];
}

函数 checklogin($exit=true){
    if(!isset($_COOKIE['islogin']) || $_COOKIE['islogin'] != 1){
        if($exit) {
            echo "请先登陆,谢谢。";
            退出;
        }
    }
    else setcookie('islogin',1,time() 60*20);
}
?>

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板