从一个不错的留言本弄的mysql数据库操作类
从一个不错的留言本弄的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); } ?>
好了,本文到此结束,希望对大家有所帮助!