從一個(gè)不錯(cuò)的留言本弄的mysql數(shù)據(jù)庫(kù)操作類(lèi)
更新時(shí)間:2007年09月02日 21:58:56 投稿:mdxy-dxy
本文通過(guò)實(shí)例代碼給大家介紹了mysql數(shù)據(jù)庫(kù)操作類(lèi)的相關(guān)知識(shí),感興趣的朋友跟隨腳本之家小編一起看看吧
從一個(gè)不錯(cuò)的留言本弄的mysql數(shù)據(jù)庫(kù)操作類(lèi),初學(xué)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.'">如果你的頁(yè)面沒(méi)有跳轉(zhuǎn),請(qǐng)點(diǎn)這里</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愛(ài)好者留言簿_提示信息</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愛(ài)好者留言簿 提示信息</h1>
{$message}
EOT;
if($referer != ''){
echo <<<EOT
<br />
<a href="{$referer}">如果您的瀏覽器沒(méi)有自動(dòng)跳轉(zhuǎn),請(qǐng)點(diǎn)擊這里</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 "請(qǐng)先登陸,謝謝。";
exit;
}
}
else setcookie('islogin',1,time()+60*20);
}
?>
好了,本文到此結(jié)束,希望對(duì)大家有所幫助!
您可能感興趣的文章:
- ezSQL PHP數(shù)據(jù)庫(kù)操作類(lèi)庫(kù)
- php的access操作類(lèi)
- 一個(gè)MYSQL操作類(lèi)
- php下mysql數(shù)據(jù)庫(kù)操作類(lèi)(改自discuz)
- PHP實(shí)現(xiàn)PDO的mysql數(shù)據(jù)庫(kù)操作類(lèi)
- 一個(gè)ASP.NET的MYSQL的數(shù)據(jù)庫(kù)操作類(lèi)自己封裝的
- PHP數(shù)據(jù)庫(kù)操作之基于Mysqli的數(shù)據(jù)庫(kù)操作類(lèi)庫(kù)
- php實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)操作類(lèi)分享
- 全新的PDO數(shù)據(jù)庫(kù)操作類(lèi)php版(僅適用Mysql)
- Mysql數(shù)據(jù)庫(kù)操作類(lèi)( 1127版,提供源碼下載 )
相關(guān)文章
PHP管理內(nèi)存函數(shù) memory_get_usage()使用介紹
我們?cè)趯?shí)際編碼中,要想實(shí)現(xiàn)對(duì)內(nèi)存的查看和操作,許多程序員們第一個(gè)想到的就是PHP memory_get_usage()這個(gè)PHP腳本內(nèi)存函數(shù)2012-09-09
php實(shí)現(xiàn)轉(zhuǎn)換ubb代碼的方法
這篇文章主要介紹了php實(shí)現(xiàn)轉(zhuǎn)換ubb代碼的方法,涉及php正則替換的使用技巧,需要的朋友可以參考下2015-06-06
基于php使用memcache存儲(chǔ)session的詳解
本篇文章是對(duì)php使用memcache存儲(chǔ)session進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
實(shí)現(xiàn)php刪除鏈表中重復(fù)的結(jié)點(diǎn)
在本篇文章中,我們給大家?guī)?lái)了關(guān)于php刪除鏈表中重復(fù)的結(jié)點(diǎn)的相關(guān)知識(shí)點(diǎn)內(nèi)容以及相關(guān)代碼,有興趣的朋友們參考下。2018-09-09
PHP中使用foreach和引用導(dǎo)致程序BUG的問(wèn)題介紹
PHP 引用有些類(lèi)似 C 語(yǔ)言指針, 但一些重要的特性和 C 語(yǔ)言指針不一樣, 如果不注意, 會(huì)導(dǎo)致程序 BUG. foreach 操作的是數(shù)組或?qū)ο蟮目截? 但 PHP5, 可以使用引用操作對(duì)象元素本身2012-09-09
php+AJAX傳送中文會(huì)導(dǎo)致亂碼的問(wèn)題的解決方法
關(guān)于在AJAX中GET回的ResponseText中文亂碼的最簡(jiǎn)解決辦法2008-09-09

