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

PHP
PHP新手总结的PHP基础知识
php实现gb2312和unicode间编码转换
用php语言实现数据库连接详细代码介绍
详细解析 PHP 向 MySQL 发送数据过程
利用PHP V5开发多任务应用程序
详细讲解PHP中缓存技术的应用
php escapeshellcmd多字节编码漏洞
《PHP设计模式介绍》导言
《PHP设计模式介绍》第一章 编程惯用法
《PHP设计模式介绍》第二章 值对象模式
《PHP设计模式介绍》第三章 工厂模式
《PHP设计模式介绍》第四章 单件模式
《PHP设计模式介绍》第五章 注册模式
《PHP设计模式介绍》第六章 伪对象模式
《PHP设计模式介绍》第七章 策略模式
《PHP设计模式介绍》第八章 迭代器模式
《PHP设计模式介绍》第九章 观测模式
《PHP设计模式介绍》第十章 规范模式
《PHP设计模式介绍》第十一章 代理模式
《PHP设计模式介绍》第十二章 装饰器模式

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 228 ::
收藏到网摘: 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);
}
?>