Welcome

首页 / 网页编程 / PHP / 从一个不错的留言本弄的mysql数据库操作类

从一个不错的留言本弄的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%" align="center" style="border:1px solid #eeeeee; margin-top:50px;">
  <tr bgcolor="#CCCCCC">
    <td height="25">信息提示</td>
  </tr>
  <tr 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);
}
?>