从一个不错的留言本弄的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 相关文章推荐
PHP Memcached + APC + 文件缓存封装实现代码
Mar 11 PHP
PHP代码保护--Zend Guard的使用详解
Jun 03 PHP
PHP调用.NET的WebService 简单实例
Mar 27 PHP
JavaScript实现滚动栏效果的方法
Apr 27 PHP
PHP访问数据库集群的方法小结
Mar 14 PHP
PHP获取当前文件的父目录方法汇总
Jul 21 PHP
在Mac OS下搭建LNMP开发环境的步骤详解
Mar 10 PHP
php curl上传、下载、https登陆实现代码
Jul 23 PHP
php格式文件打开的四种方法
Feb 24 PHP
thinkPHP5框架闭包函数与子查询传参用法示例
Aug 02 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
May 23 PHP
让你的PHP,APACHE,NGINX支持大文件上传
Mar 09 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
php 连接mssql数据库 初学php笔记
2010/03/01 PHP
解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql
2013/06/26 PHP
PHP实现的英文名字全拼随机排号脚本
2014/07/04 PHP
PHP中$GLOBALS['HTTP_RAW_POST_DATA']和$_POST的区别分析
2017/07/03 PHP
php自定义排序uasort函数示例【二维数组按指定键值排序】
2019/06/19 PHP
IE和Firefox下javascript的兼容写法小结
2008/12/10 Javascript
jQuery 方法大全方便学习参考
2010/02/25 Javascript
解决js中window.open弹出的是上次的缓存页面问题
2013/12/29 Javascript
分享两段简单的JS代码防止SQL注入
2016/04/12 Javascript
JQuery点击事件回到页面顶部效果的实现代码
2016/05/24 Javascript
js 中获取制定的cook信息实现方法
2016/11/19 Javascript
微信小程序 switch组件详解及简单实例
2017/01/10 Javascript
js学习总结之DOM2兼容处理this问题的解决方法
2017/07/27 Javascript
利用jquery如何从json中读取数据追加到html中
2017/12/01 jQuery
Vue.js 图标选择组件实践详解
2018/12/03 Javascript
jQuery实现的自定义轮播图功能详解
2018/12/28 jQuery
Vue开发之watch监听数组、对象、变量操作分析
2019/04/25 Javascript
js 计算月/周的第一天和最后一天代码
2020/02/01 Javascript
JS异步宏队列与微队列原理区别详解
2020/07/02 Javascript
vue 数据操作相关总结
2020/12/17 Vue.js
详解python开发环境搭建
2016/12/16 Python
python numpy 显示图像阵列的实例
2018/07/02 Python
pytorch中的上采样以及各种反操作,求逆操作详解
2020/01/03 Python
Python实现初始化不同的变量类型为空值
2020/06/02 Python
python破解同事的压缩包密码
2020/10/14 Python
美国照明、家居装饰和家具购物网站:Bellacor
2017/09/20 全球购物
丝芙兰新加坡官网:Sephora新加坡
2018/12/04 全球购物
高中毕业生的个人自我评价
2014/02/21 职场文书
工作时间擅自离岗检讨书
2014/10/24 职场文书
群众路线教育实践活动实施方案
2014/10/31 职场文书
教师党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
材料采购员岗位职责
2015/04/03 职场文书
大学生村官工作总结2015
2015/04/09 职场文书
优秀家长事迹材料(2016推荐版)
2016/02/29 职场文书
python 办公自动化——基于pyqt5和openpyxl统计符合要求的名单
2021/05/25 Python
Django框架中视图的用法
2022/06/10 Python