当前位置: 首页 > 图文教程 > 网络编程 > PHP > 从一个不错的留言本弄的mysql数据库操作类

PHP
《PHP设计模式介绍》第十三章 适配器模式
《PHP设计模式介绍》第十四章 动态记录模式
《PHP设计模式介绍》第十五章 表数据网关模式
《PHP设计模式介绍》第十六章 数据映射模式
《PHP设计模式介绍》第十七章 MVC 模式
Zend Framework 入门——快速上手
Zend Framework 入门——多国语言支持
Zend Framework 入门——错误处理
Zend Framework 入门——页面布局
详细介绍php5编程中的异常处理
PHP5 OOP编程中的代理与异常
PHP程序的常见漏洞攻击分析
PHP.MVC的模板标签系统
PHP教程:PHP编码书写规范
PHP开发大型项目的方法:OOP思想
php使用curl模拟用户登陆
php对gb编码动态转utf-8编码的几种方法评测
php设计模式介绍之章代理模式
“在phpMyAdmin使用用户口令登陆”补充
PHP入门速成

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 121 ::
收藏到网摘: n/a

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