从一个不错的留言本弄的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);
}
?>

(0)

相关推荐

  • ezSQL PHP数据库操作类库

    ezSQL 下载地址: 下载 : ezSQL 新版本是2.05添加了很多支持,包括 CodeIgniter,MSSQL, PDO 等等 我之前也为 CodeIgniter 写过一次,不过只支持 MySQL 看看使用示例其实也没什么难度,直接看源代码即可,主要是程序设计的思想很好. Example 1 ---------------------------------------------------- // Select multiple records from the database a

  • php的access操作类

    复制代码 代码如下: <?php     --------------------------------------------------------------------     //FileName:class.php     //Summary: Access数据库操作类     //Author:  forest     //CreateTime: 2006-8-10          //LastModifed:     //copyright (c)2006      //ht

  • php下mysql数据库操作类(改自discuz)

    复制代码 代码如下: <?php /* -------------------------------- System:PT book - PT小说小偷 Code: 杰少Pakey ----------------------------------- */ $pt_mysql = new dbQuery; /** * mysql查询类 * */ class dbQuery { /** * 查询总次数 * * @var int */ var $querynum = 0; /** * 连接句柄 *

  • 一个MYSQL操作类

    复制代码 代码如下: <?php class DB{     var $host_addr = "localhost"; var $host_user = "root"; var $host_psw  = "123"; var $db_name   = "test"; var $link_id; var $query_id; var $numRow; function DB(){      $this->link_

  • 从一个不错的留言本弄的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

  • 一个基于PDO的数据库操作类(新) 一个PDO事务实例

    复制代码 代码如下: <?php /* * 作者:胡睿 * 日期:2011/03/19 * 电邮:hooray0905@foxmail.com * * 20110319 * 常用数据库操作,如:增删改查,获取单条记录.多条记录,返回最新一条插入记录id,返回操作记录行数等 * 20110630 * 整体修改方法,合并部分参数 * 规范代码,一个方法里只有1个return语句 */ /* 参数说明 int $debug 是否开启调试,开启则输出sql语句 int $mode 0 返回数组 1 返回

  • 封装一个PDO数据库操作类代码

    复制代码 代码如下: <?php /** * 数据库PDO操作 */ class MysqlPdo { public static $PDOStatement = null; /** * 数据库的连接参数配置 * @var array * @access public */ public static $config = array(); /** * 是否使用永久连接 * @var bool * @access public */ public static $pconnect = false;

  • 找到一种不错的从SQLServer转成Mysql数据库的方法

    年初的时候一直在做一个网站MSSQL2000 -> MySQL5的迁移工作,因为采用了不同的程序系统,所以主要问题在数据的迁移.由于2个系统数据库结构差异非常大,不方便采取SQL SERVER里导入MYSQL的ODBC数据源的功能(也不推荐这么做,字段类型等不同点会搞死人的-),因此就在WINDOWS下自己写PHP脚本从SQLSERVER里读数据,然后按照新系统的需要处理之后插入MYSQL里面,灵活也比较方便.实际过程主要有下面几个问题: 1.数据库的连接,主要是连接SQL SERVER.主要有

  • 一个ASP.NET的MYSQL的数据库操作类自己封装的

    /** * 类说明:对MYSQL数据库的操作类 */ using System; using System.Data; using MySql.Data.MySqlClient; namespace Niunan.BYLW.Utility { /// <summary>对MYSQL数据库的操作类 /// /// </summary> public class MYSQLHelper { private MySqlConnection conn = null; private MyS

  • phpfans留言版用到的数据操作类和分页类

    复制代码 代码如下: class mysql{          function connect($dbhost, $dbuser, $dbpw, $dbname = '',$dbcharset='') {              if(!@mysql_connect($dbhost, $dbuser, $dbpw)) {              $this->show('Can not connect to MySQL server');          }              

  • 一个基于PDO的数据库操作类

    百度之后决定使用PDO,至于为什么选择PDO,这里就不再多说,大家自己去百度下就能明白. 既然要换,那最基本就需要有个常用的数据库操作类,也就是所谓的增删改查等,昨晚捣腾了一晚,大致弄出了个雏形,以下就是代码,希望大家能给出点意见. 复制代码 代码如下: <?php /* 作者:胡睿 日期:2011/03/19 电邮:hooray0905@foxmail.com 20110319 常用数据库操作,如:增删改查,获取单条记录.多条记录,返回最新一条插入记录id,返回操作记录行数等 */ /* 参数

  • 一个简单的asp数据库操作类

    <% '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% '数据库操作类 '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% '名称:Class_DBOperate '版本:0.2 '作者:qihangnet '更新:2005年6月14日 '作用:简化数据库操作的流程 '授权:免费使用 '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Class Class_DBOperate '*********************

  • PHP结合Mysql数据库实现留言板功能

    先给大家展示下留言板效果图: 最近看了下PHP基础语法,就想利用这些基本东西实现留言板,也是对基础知识的一个巩固. 什么是留言板?一种可以用来记录,展示文字信息的载体. 现切入正题,说说本次留言板是怎么实现! 首先用户提交留言后,相关内容存入服务器,当他想看的时候后台再把所有留言读出来,最后显示在浏览器上,用户就可以看到留言了. 这其中后台需要便于读写数据的一个工具,我选择mysql数据库来帮助我完成这些事. 我写了主要是三个php文件,分别是: conn.php 连接数据库: addmsg.p

  • 一个不错的js html页面倒计时可精确到秒

    一个不错的js html页面倒计时可精确到秒,很简单,但和实用 <!doctype html> <html> <head> <meta charset="utf-8"> </head> <body> <DIV id="CountMsg" class="HotDate"> <span id="t_d">00天</span>

随机推荐