广

PHP编程

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

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

    2018-10-28 11:05:39 次阅读 稿源:互联网
    零七广告
    从一个不错的留言本弄的mysql数据库操作类,初学php的朋友可以参考下
    代码如下:

    <?php
    class mysql{
        var $querynum = 0;
        function connect($dbhost, $dbuser, $dbpw, $dbname = '',$dbcharset='') {
            if(!@mysql_connect($dbhost, $dbuser, $dbpw)) {
                $this->show('Can not connect to MySQL server');
                return false;
            }
            if($dbname) {
                $this->select_db($dbname);
            }
            if($this->version() > '4.1' && $dbcharset) {
                $this->query("SET NAMES '".$dbcharset."'");
            }
            return true;
        }

        function select_db($dbname) {
            return mysql_select_db($dbname);
        }

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

        function query($sql, $type = '') {
            if(!($query = mysql_query($sql))) $this->show('MySQL Query Error', $sql);
            $this->querynum++;
            return $query;
        }

        function affected_rows() {
            return mysql_affected_rows();
        }

        function result($query, $row) {
            return mysql_result($query, $row);
        }

        function num_rows($query) {
            return @mysql_num_rows($query);
        }

        function num_fields($query) {
            return mysql_num_fields($query);
        }

        function free_result($query) {
            return mysql_free_result($query);
        }

        function insert_id() {
            return mysql_insert_id();
        }

        function fetch_row($query) {
            return mysql_fetch_row($query);
        }

        function version() {
            return mysql_get_server_info();
        }

        function close() {
            return mysql_close();
        }

        function error() {
            return mysql_error();
        }

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

    class page extends mysql{
        function pagination($sql,$maxnum,$page,$maxpages,$pagepre,$ext=''){
            global $sum,$stail,$link,$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."|‹".$ltail;
                $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<=$pagepre)?1:($page-$pagepre));
                $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;
        }
    }

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

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

    function deip($str){
        $arr = explode('.',$str);
        $str = $arr[0].'.'.$arr[1].'.'.$arr[2].'.*';
        return $str;
    }

    function setting($login=false){
        global $db,$mydbpre;
        if($login) $sql = "select * from {$mydbpre}setting";
        else $sql = "select * from {$mydbpre}setting where keyword != 'username' and keyword != 'password'";
        $query = $db->query($sql);
        while($row = $db->fetch_array($query)){
            $arr[$row['keyword']] = $row['val'];
            if($row['keyword'] == 'name') $arr['title'] = $row['val'].' - Powered by PHPfans';
        }
        return $arr;
    }

    function checkcontent($content){
        global $db,$mydbpre,$mearr;
        $arrword = $arrip = array();
        $sql = "select * from {$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');
            }
        }
    }

    function replaceword($content){
        global $db,$mydbpre;
        $sql = "select * from {$mydbpre}ban where b_type = 0";
        $query = $db->query($sql);
        while($row = $db->fetch_array($query)){
            $content = str_replace($row['b_val'],$row['b_reval'],$content);
        }
        return $content;
    }

    function showadmin($message,$referer=''){
        $str = '';
        if($referer != '') $str .= '<meta http-equiv="refresh" content="2;URL='.$referer.'" />';
        $str .= '
      <table width="45%" style="text-align:center" style="border:1px solid #eeeeee; margin-top:50px;">
      <tr bgcolor="#CCCCCC">
        <td height="25">信息提示</td>
      </tr>
      <tr style="text-align:center">
        <td style="padding:10px 0 10px 0">'.$message;
        if($referer != '') $str .= '<br />
      <br />
      <a href="'.$referer.'">如果你的页面没有跳转,请点这里</a>';

        $str .= '
      </td>
      </tr>
      </table>';
        echo $str;
        exit;
    }

    function showmessage($message,$referer=''){
        global $setting,$db;
        $start = gettime();
        echo <<<EOT
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gbk" />
    <title>php爱好者留言簿_提示信息</title>
    <link type="text/css" href="guest.css" rel="stylesheet">
    EOT;
        if($referer != '') echo '<meta http-equiv="Refresh" content="2;URL='.$referer.'" />';
        echo <<<EOT
    </head>
    <body>
    <center>
    EOT;
        require_once('header.html');
        echo <<<EOT
    <div class="message">
    <h1>php爱好者留言簿 提示信息</h1>
    {$message}
    EOT;
        if($referer != ''){
            echo <<<EOT
    <br />
    <a href="{$referer}">如果您的浏览器没有自动跳转,请点击这里</a>
    </div>
    EOT;
    }
    require_once('footer.html');
    echo <<<EOT
    </center>
    </body>
    </html>
    EOT;
    exit;
    }

    function gettime()
    {
        $t = explode(" ",microtime());
        return $t[1] + $t[0];
    }

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

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告