从一个不错的留言本弄的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 相关文章推荐
php2html php生成静态页函数
Dec 08 PHP
PHP 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
Jun 07 PHP
php中设置index.php文件为只读的方法
Feb 06 PHP
基于PHP输出缓存(output_buffering)的深入理解
Jun 13 PHP
神盾加密解密教程(一)PHP变量可用字符
May 28 PHP
PHP数组相加操作及与array_merge的区别浅析
Nov 26 PHP
给大家分享几个常用的PHP函数
Jan 15 PHP
php使用json_decode后数字对象转换成了科学计数法的解决方法
Feb 20 PHP
PHP实现上传图片到数据库并显示输出的方法
May 31 PHP
PHP设计模式之简单工厂和工厂模式实例分析
Mar 25 PHP
thinkphp5.1框架模板布局与模板继承用法分析
Jul 19 PHP
php在linux环境中如何使用redis详解
Dec 15 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自动识别字符集并完成转码详解
2013/08/02 PHP
Linux中为php配置伪静态
2014/12/17 PHP
服务器上配置PHP运行环境教程
2015/02/12 PHP
php获取网页里所有图片并存入数组的方法
2015/04/06 PHP
详解WordPress中添加友情链接的方法
2016/05/21 PHP
PHP结合Ueditor并修改图片上传路径
2016/10/16 PHP
js实现点击向下展开的下拉菜单效果代码
2015/09/01 Javascript
逐一介绍Jquery data()、Jquery stop()、jquery delay()函数(详)
2015/11/04 Javascript
简单实现JS对dom操作封装
2015/12/02 Javascript
javascript获取wx.config内部字段解决微信分享
2016/03/09 Javascript
探索Javascript中this的奥秘
2016/12/11 Javascript
js实现获取鼠标当前的位置
2016/12/14 Javascript
vue项目中做编辑功能传递数据时遇到问题的解决方法
2016/12/19 Javascript
JavaScript中的 attribute 和 jQuery中的 attr 方法浅析
2017/01/04 Javascript
深入理解Angular4中的依赖注入
2017/06/07 Javascript
详解vue.js 开发环境搭建最简单攻略
2017/06/12 Javascript
React-Native实现ListView组件之上拉刷新实例(iOS和Android通用)
2017/07/11 Javascript
AngularJS点击添加样式、点击变色设置的实例代码
2017/07/27 Javascript
12条写出高质量JS代码的方法
2018/01/07 Javascript
Angular模版驱动表单的使用总结
2018/05/05 Javascript
vue-cli初始化项目中使用less的方法
2018/08/09 Javascript
Python常见异常分类与处理方法
2017/06/04 Python
Python网络爬虫中的同步与异步示例详解
2018/02/03 Python
详解centos7+django+python3+mysql+阿里云部署项目全流程
2019/11/15 Python
Python第三方库的几种安装方式(小结)
2020/04/03 Python
如何在网站上添加谷歌定位信息
2016/04/16 HTML / CSS
世界最大域名注册商:GoDaddy
2016/07/24 全球购物
NICKIS.com荷兰:设计师儿童时装
2020/01/08 全球购物
澳大利亚在线奢侈品时尚零售平台:Azura Runway
2021/01/13 全球购物
Shell编程面试题
2012/05/30 面试题
吸烟检讨书2000字
2014/02/13 职场文书
演讲比赛通讯稿
2015/07/18 职场文书
导游词之新疆尼雅遗址
2019/10/16 职场文书
win10怎么设置右下角图标不折叠?Win10设置右下角图标不折叠的方法
2022/07/15 数码科技
Redis sentinel哨兵集群的实现步骤
2022/07/15 Redis
spring boot实现文件上传
2022/08/14 Java/Android