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


Posted in PHP onSeptember 02, 2007

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

好了,本文到此结束,希望对大家有所帮助!

PHP 相关文章推荐
从零开始 教你如何搭建Discuz!4.1论坛
Jul 07 PHP
PHP 文件缓存的性能测试
Apr 25 PHP
PHP操作xml代码
Jun 17 PHP
php专用数组排序类ArraySortUtil用法实例
Apr 03 PHP
在openSUSE42.1下编译安装PHP7 的方法
Dec 24 PHP
weiphp微信公众平台授权设置
Jan 04 PHP
简要剖析PHP的Yii框架的组件化机制的基本知识
Mar 17 PHP
php使用scandir()函数扫描指定目录下所有文件示例
Jun 08 PHP
[原创]PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】
Jul 12 PHP
redis+php实现微博(二)发布与关注功能详解
Sep 23 PHP
使用PHP开发留言板功能
Nov 19 PHP
php7 错误处理机制修改实例分析
May 25 PHP
利用static实现表格的颜色隔行显示的代码
Sep 02 #PHP
MySQL数据库转移,access,sql server 转 MySQL 的图文教程
Sep 02 #PHP
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
Aug 26 #PHP
海河写的 Discuz论坛帖子调用js的php代码
Aug 23 #PHP
discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件
Aug 19 #PHP
PHP下几种删除目录的方法总结
Aug 19 #PHP
wordpress之wp-settings.php
Aug 17 #PHP
You might like
《超神学院》霸气归来, 天使彦上演维多利亚的秘密
2020/03/02 国漫
电脑硬件及电脑配置知识大全
2020/03/17 数码科技
yii通过小物件生成view的方法
2016/10/08 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
php微信公众号开发之答题连闯三关
2018/10/20 PHP
关于laravel后台模板laravel-admin select框的使用详解
2019/10/03 PHP
php获取微信openid方法总结
2019/10/10 PHP
用JQuery 实现AJAX加载XML并解析的脚本
2009/07/25 Javascript
一个简单的js渐显(fadeIn)渐隐(fadeOut)类
2010/06/19 Javascript
Javascript的数组与字典用法与遍历对象的属性技巧
2012/11/07 Javascript
基于jQuery的JavaScript模版引擎JsRender使用指南
2014/12/29 Javascript
封装好的js判断操作系统与浏览器代码分享
2015/01/09 Javascript
详解AngularJS中的表单验证(推荐)
2016/11/17 Javascript
AngularJs定时器$interval 和 $timeout详解
2017/05/25 Javascript
详解Angular2表单-模板驱动的表单(Template-Driven Forms)
2017/08/04 Javascript
前端把html表格生成为excel表格的实例
2017/09/19 Javascript
微信小程序实现自动定位功能
2018/10/31 Javascript
VUE脚手架具体使用方法
2019/05/20 Javascript
Vue 自适应高度表格的实现方法
2020/05/13 Javascript
vue中利用three.js实现全景图的完整示例
2020/12/07 Vue.js
[05:15]DOTA2英雄梦之声_第16期_灰烬之灵
2014/06/21 DOTA
[01:00:26]Ti4主赛事胜者组第一天 EG vs NEWBEE 1
2014/07/19 DOTA
[06:43]2018DOTA2国际邀请赛寻真——VGJ.Thunder
2018/08/11 DOTA
Android分包MultiDex策略详解
2017/10/30 Python
Windows下PyCharm安装图文教程
2018/08/27 Python
Python3.7黑帽编程之病毒篇(基础篇)
2020/02/04 Python
Python第三方包之DingDingBot钉钉机器人
2020/04/09 Python
让你相见恨晚的十个Python骚操作
2020/11/18 Python
CSS3贝塞尔曲线示例:创建链接悬停动画效果
2020/11/19 HTML / CSS
DC Shoes俄罗斯官网:美国滑板鞋和服饰品牌
2020/08/19 全球购物
输入一行文字,找出其中大写字母、小写字母、空格、数字、及其他字符各有多少
2016/04/15 面试题
武汉高蓝德国际.net机试
2016/06/24 面试题
水产养殖学应届生求职信
2013/09/29 职场文书
师德师风个人反思
2014/04/28 职场文书
解决python存数据库速度太慢的问题
2021/04/23 Python
python如何正确使用yield
2021/05/21 Python