国内精品欧美视频一区二区,成年人网站一级黄色免费,欧美一区二区三区不卡放荡的寡妇,欧美成人性生活视频在线观看

中山php|最優(yōu)網(wǎng)絡(luò)中山做網(wǎng)站 中山php建站

最優(yōu)良人

2012/05/30 at 17:46

移植方便的php數(shù)據(jù)庫操作類,建表增刪改查

<?php
/**
*
* 數(shù)據(jù)操作類
* @author Xiaoqiang
* @link //
* @copyright Xiaoqiang
* @version Svn $Id$
* @package
*/
class Db {

var $links;
// 構(gòu)造函數(shù),初始化數(shù)據(jù)庫(主機,用戶名,密碼,數(shù)據(jù)庫名)
function __construct() {

$this->links = mysql_connect(DB_HOST, DB_USER, DB_PWD);
if(DEBUG){
mysql_select_db(DB_NAME) or die('ERROR:'.mysql_error());
}
else{
mysql_select_db(DB_NAME);
}
$char_sql = "SET NAMES '" . CHARSET . "'";
$this->query($char_sql);
}

/**
* ****************** 操作 ******************
*/
/**
* 增刪改查操作方法
* 輸入sql語句
* 返回布爾值或結(jié)果集$row
*/
function query($sql) {
if(DEBUG){
$render = mysql_query($sql) or die('query ERROR:'.mysql_error()."<br>sql語句出錯:" . $sql);
return $render;
}
else{
return mysql_query($sql);
}
}
/**
* 計算行數(shù)方法
* 輸入
* 結(jié)果數(shù)組
*/
function count($table,$condition='1') {

$sql = "select count(*) from `".DB_PREFIX.$table."` where $condition";
$result = $this->select($sql);
return $result[0]['count(*)'];
}
/**
* 原始的sql語句查操作方法
* 輸入sql語句
* 結(jié)果數(shù)組
*/
function select($sql) {
$row = $this->query($sql);
$results = array();
while($arr = $this->fetch($row)){
$results[] = $arr;
}
//$this->free_result($row);
return $results;
}

/**
* 檢查某字段是否存在某值
* @param 輸入表名.字段,值
* @return id 或者 false
**/
function check_exists($table,$val){
$render = false;
$tab = explode('.',$table);
if($tab['1'] && $tab['1']!='id'){
$fields = $tab['1'];
$table = "{$tab[0]}.id,{$fields}";
}
else{
$fields = 'id';
$table = $tab[0].".id";
}
$condition = "`$fields` = '{$val}'";
$detail = $this->read($table,$condition);
if($detail[$fields]){
$render = $detail['id'];
}
return $render;
}

/**
* 查詢多條數(shù)據(jù)方法
* 輸入表名.字段,字段;查詢條件,條數(shù)
* 如果條件是數(shù)組,則進入高級搜索模式
* 返回結(jié)果數(shù)組
*/
function readall($table,$condition='1',$limit='') {
$tab = explode('.',$table);
$table = $tab['0'];
if($tab['1']){
$fields = $tab['1'];
$fields_array =explode(',',$fields);
$fields = '';
foreach( $fields_array as $one){
$fields .= "`$one`,";
}
$fields = rtrim($fields,',');
}
else{
$fields = '*';
}
if(is_array($condition)){
$condition = $this->parse_condition($condition);
}
$sql = "select $fields from `".DB_PREFIX.$table."` where $condition";
if($limit)$sql .= " limit $limit";
return $this->select($sql);
}
/**
* 查詢單條數(shù)據(jù)方法
* 輸入表名.字段,字段;查詢條件
* 返回結(jié)果數(shù)組
*/
function read($table,$condition='1') {
$render = $this ->readall($table,$condition,1);
return $render[0];
}
/**
* 修改數(shù)據(jù)方法
* 輸入表名,插入數(shù)據(jù)array('字段'=>'值'),條件
* 返回布爾值
*/
function update($table,$data,$condition ) {

$set = '';
foreach( $data as $key=>$val){
$set .= "`$key` = '".$val."',";
}
$set = rtrim($set,',');
if(is_array($condition)){
$condition = $this->parse_condition($condition);
}
$sql = "update `".DB_PREFIX.$table."` set $set where $condition";
return $this->query($sql);
}
/**
* 插入數(shù)據(jù)方法
* 輸入表名,數(shù)據(jù)array('字段'=>'值')
* 返回布爾
*/
function insert($table,$data) {

$fields = array();
$values = array();

foreach( $data as $key=> $val){
if(is_array($val)){
$_values = array();
$_fields = array();
foreach( $val as $k=> $v){
$_fields[]= "`$k`";
$_values[]= "'{$v}'";
}
$fields = $_fields;
$values[] = '('.implode(',',$_values).')';
}
else{
$fields[] = "`$key`";
$values[] = "'{$val}'";
}
}
$fields = implode(',',$fields);
$values = implode(',',$values);
$sql = "insert into `".DB_PREFIX.$table."` ($fields) values($values)";
return $this->query($sql);
}
/**
* 刪除數(shù)據(jù)方法
* 輸入表名,條件
* 返回bool
*/
function delete($table,$condition) {

if(empty($condition)){
die('條件不能為空');
}
if(is_array($condition)){
$condition = $this->parse_condition($condition);
}
$sql = "delete from `".DB_PREFIX.$table."` where $condition";
return $this->query($sql);
}
/**
* 解析條件的函數(shù)
* @param 條件數(shù)組
* <code>
$arr[] = "`id`==0";
$arr[] = "`id`==5";
$arr['id'] = "5";
$arr['or'][] = "`id`!=2";
$arr['or'][] = "`id`!=1";
$arr['or'][] = "`id`!=2";
$arr['groups'][]='id';
$arr['orders']['id']='asc';
$arr['orders']['td']='DESC';
* </code>
* @return str
**/
function parse_condition($condition){
$and = '1';
$or = '0';
$groups = array();
$orders = array();
foreach( $condition as $key=>$val){
if(is_numeric($key)){
$and .= " and $val";
}
elseif(strtolower($key)== 'or'){
//處理or條件
if(is_array($val)){
foreach( $val as $k=>$v){
if(is_numeric($k)){
$or .= " or {$v}";
}
elseif(is_array($v)){
$v = implode(',',$v);
$or .= " or `$k` in ($v)";
}else{
$or .= " or `$k='{$v}'";
}
}

}else{
$or .= " or $val'";
}
}
elseif(strtolower($key)== 'groups'){
//處理group by
foreach( $val as $k=>$v){
$groups[] = $v;
}

}elseif(strtolower($key)== 'orders'){
//處理order by
foreach( $val as $k=>$v){
$orders[] = $k.' '.$v;
}

}else{
if(is_array($val)){
$val = implode(',',$val);
$and .= " and `$key` in ($val)";
}else{
$and .= " and `$key`='{$val}'";
}
}
}
if($and!='1' && $or!='0')$where = $and.' or '.$or;
elseif($and!='1') $where = $and;
elseif($or!='0') $where = $or;
if($groups)$where .= " group by ".implode(',',$groups);
if($orders)$where .= " order by ".implode(',',$orders);
$where = str_replace('1 and','',str_replace('0 or','',$where));

return $where;
}
/**
* 鎖表方法
* 輸入表名,鎖定類型,r or w 寫鎖要放在讀鎖前面
* 返回bool
*/
function lock($table,$type='r') {

if($type=='r'){
$type = 'READ';
}
else{
$type = 'WRITE';
}
$sql = "lock table `".DB_PREFIX.$table."` $type";
return $this->query($sql);
}
/**
* 解鎖表方法
*
* 返回bool
*/
function unlock( ) {

$sql = "unlock tables";
return $this->query($sql);
}
/**
* 結(jié)果集放入數(shù)組方法
* 返回數(shù)組,指針下移
*/

function fetch($row) {

return mysql_fetch_array($row,MYSQL_ASSOC);

}

/**
* 計算結(jié)果集行數(shù)方法
* 輸入$row
* 返回行數(shù)
*/

function num_rows($row) {

return mysql_num_rows($row);

}

/**
* 計算結(jié)果集列數(shù)方法
* 輸入$row
* 返回列數(shù)
*/

function num_fields($row) {

return mysql_num_fields($row);

}

/**
* 釋放result結(jié)果集內(nèi)存
* 返回布爾值
*/

function free_result($row) {

return mysql_free_result($row);

}

/**
* 查看指定表的字段名
* 輸入表名
* 返回全部字段名數(shù)組
*/
function list_fields($table) {
$fields = mysql_list_fields(DB_NAME, DB_PREFIX.$table, $this->links);
$columns = mysql_num_fields($fields);

for ($i = 0; $i < $columns; $i++) {
$row[$i] = mysql_field_name($fields, $i);
}
return $row;

}

/**
* 查看數(shù)據(jù)庫版本方法
*/

function version() {
return mysql_get_server_info();

}

/**
* 插入時查看插入ID
*/

function insert_id() {
return mysql_insert_id();

}
/**
* 分頁方法
*/

function page($table,$condition='1',$pagesize=20,$id='page') {
$page = $_GET[$id];
if(!$page)$page= 0 ;
elseif(!is_numeric($page))die('分頁出錯');

//查找結(jié)果集
$p = $page * $pagesize;
$limit = $p.",".$pagesize;
$results = $this->readall($table,$condition,$limit);

//取得結(jié)果集行數(shù)
$num = $this->count($table,$condition);
//定義最后頁 $maxpage
if ($num % $pagesize) {
$maxpage = (int) ($num / $pagesize +1);
} else
$maxpage = $num / $pagesize;
if(STATICS){
//從服務(wù)器端取得url信息

if($_GET[$id] === null){
$_SERVER["REQUEST_URI"] = str_replace('index.php','',$_SERVER["REQUEST_URI"]);
$_SESSION[$id] = str_replace('.html','',$_SERVER["REQUEST_URI"],$count);
$_SESSION[$id] = $count?$_SESSION[$id] :$_SESSION[$id].'index';
if(!sizeof($_GET))$_SESSION[$id].="-htm";
}
$str = "<div class=pg style=padding-top:25px;><a href=$_SESSION[$id]-".$id."-0.html>First</a> ";
if($page)$str .= "<a href=$_SESSION[$id]-".$id."-".($page-1).".html>Previous</a> ";
if($page-3>=0)$str .="<a href=$_SESSION[$id]-".$id."-".($page-3).".html>".($page-2)."</a> ";
if($page-2>=0)$str .="<a href=$_SESSION[$id]-".$id."-".($page-2).".html>".($page-1)."</a> ";
if($page-1>=0)$str .="<a href=$_SESSION[$id]-".$id."-".($page-1).".html>".$page."</a> ";
if($page < $maxpage)$str .=($page+1)." ";
if($page+1 < $maxpage)$str .="<a href=$_SESSION[$id]-".$id."-".($page+1).".html>".($page+2)."</a> ";
if($page+2 < $maxpage)$str .="<a href=$_SESSION[$id]-".$id."-".($page+2).".html>".($page+3)."</a> ";
if($page+3 < $maxpage)$str .="<a href=$_SESSION[$id]-".$id."-".($page+3).".html>".($page+4)."</a> ";
if($page+1 < $maxpage)$str .="<a href=$_SESSION[$id]-".$id."-".($page+1).".html>Next</a> ";
if(!$maxpage)$maxpage=1;
$str .="<a href=$_SESSION[$id]-".$id."-".($maxpage-1).".html>Last</a> <a href=javascript:;> ".($page+1)."/".$maxpage."Total</a> </div>";
}
else{
//從服務(wù)器端取得url信息

if($_GET[$id] === null){
$_SESSION[$id] = $_SERVER["REQUEST_URI"];
if(!sizeof($_GET))$_SESSION[$id].="?p=1";

}

$str = "<div class=pg style=padding-top:25px;><a href=$_SESSION[$id]&".$id."=0>First</a> ";
if($page)$str .= "<a href=$_SESSION[$id]&".$id."=".($page-1).">Previous</a> ";
if($page-3>=0)$str .="<a href=$_SESSION[$id]&".$id."=".($page-3).">".($page-2)."</a> ";
if($page-2>=0)$str .="<a href=$_SESSION[$id]&".$id."=".($page-2).">".($page-1)."</a> ";
if($page-1>=0)$str .="<a href=$_SESSION[$id]&".$id."=".($page-1).">".$page."</a> ";
if($page < $maxpage)$str .=($page+1)." ";
if($page+1 < $maxpage)$str .="<a href=$_SESSION[$id]&".$id."=".($page+1).">".($page+2)."</a> ";
if($page+2 < $maxpage)$str .="<a href=$_SESSION[$id]&".$id."=".($page+2).">".($page+3)."</a> ";
if($page+3 < $maxpage)$str .="<a href=$_SESSION[$id]&".$id."=".($page+3).">".($page+4)."</a> ";
if($page+1 < $maxpage)$str .="<a href=$_SESSION[$id]&".$id."=".($page+1).">Next</a> ";
if(!$maxpage)$maxpage=1;
$str .="<a href=$_SESSION[$id]&".$id."=".($maxpage-1).">Last</a> <a href=javascript:;> ".($page+1)."/".$maxpage."Total</a> </div>";
}
return array($results,$str);
}

/**
* 左連接多表查詢
* @param
* @return
**/
function leftjoin($left,$right,$on,$condition,$limit=1){
$left = explode('.',$left);
$right = explode('.',$right);
$left['0'] = "`".DB_PREFIX.$left['0']."`";
$right['0'] = "`".DB_PREFIX.$right['0']."`";
if($left['1'] || $right['1']){
$fields = '';
if(!empty($left['1'])){
$_field = explode(',',$left['1']);
foreach( $_field as $one){
$fields.=$left['0'].'.`'.$one."`,";
}
}
if(!empty($right['1'])){
$_field = explode(',',$right['1']);
foreach( $_field as $one){
$fields.=$right['0'].".`".$one."`,";
}
}
$fields = rtrim($fields,',');
}
else{
$fields = '*';
}
$on = str_replace('\2',$right[0],str_replace('\1',$left[0],$on));
$condition = str_replace('\2',$right[0],str_replace('\1',$left[0],$condition));
$sql = "SELECT {$fields} FROM {$left[0]} LEFT JOIN {$right[0]} ON ( {$on} ) WHERE ( {$condition} ) LIMIT {$limit} ";

$query = $this->query($sql);
$field_num = mysql_num_fields($query);
while($arr = mysql_fetch_array($query,MYSQL_NUM)){
$_arr = array();
for( $i=0 ; $i<$field_num ; $i++ ){
$table = str_replace(DB_PREFIX,'',mysql_field_table($query, $i));
$field = mysql_field_name($query, $i);
$_arr[$table.'.'.$field] = $arr[$i];
}
$array[]=$_arr;

}
$array=$limit==1?$arrat[0]:$array;
return $array;
}
/**
* 用于創(chuàng)建一個表結(jié)構(gòu)
* @param 表名,結(jié)構(gòu) array(字段,格式,注釋) 表注釋 索引array(字段,字段) 全文搜索(字段,字段)
* @return 打印
**/

function createTable($tablename,$data,$comment='',$key='',$fulltext=''){
$_key='';
$_type = '';
$_fulltext = '';
$tablename = DB_PREFIX.$tablename;
$sql = "CREATE TABLE IF NOT EXISTS `$tablename` (
`id` int(10) unsigned NOT NULL auto_increment COMMENT 'ID',
";
foreach( $data as $one){
switch($one[1]){
case '':
$_type = 'varchar(255)';
break;
case 'tinyint':
$_type = 'tinyint(1)';
break;
case 'time':
$_type = 'int(10)';
break;
default:

if(strpos($one[1],'.')!==false){
$_type = explode('.',$one[1]);
$_type = $_type[0].'('.$_type[1].')';
}
else{
$_type = $one[1];
}
break;
}
$sql.="`{$one[0]}` $_type NOT NULL COMMENT '{$one[2]}',
";
}

if(!empty($key)){
foreach( $key as $one){
$_key.="KEY `$one` (`$one`),
";
}
}
if(!empty($fulltext)){
foreach( $fulltext as $one){
$_key.="FULLTEXT `$one` (`$one`),
";
}
}

$sql.= $_key.$_fulltext."PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=".CHARSET." COMMENT '$comment';
";
if(!$_GET[sure]){

if(empty($_GET)){
$url = '?sure=1';

}
else{
$url = $_SERVER["REQUEST_URI"].'&sure=1';
}

echo "即將執(zhí)行以下建表操作:<br><pre>$sql<a href=$url>確定</a></pre>";
}
elseif($_GET[sure] && $this->query($sql)){

echo "完成操作";
}
else{
echo "操作失敗:<br>><pre>$sql</pre>";
}

exit;

}
};

//實例

define("DB_HOST", 'localhost');
define("DB_USER", 'root');
define("DB_PWD", '');
define("DB_NAME", "test");
define("DB_PREFIX", "test_");
define('CHARSET', 'gbk'); // 編碼
define("GEBUG", 1);

//建表
$Db=new Db();
$data[] = array('title','','標題');
$data[] = array('open','tinyint.1','是否公開');
$data[] = array('keyword','','關(guān)鍵詞');
$data[] = array('content','text','內(nèi)容');
$data[] = array('created','time','時間');
//$Db->createTable('article',$data,'文章表');
//增刪改查
$data['title']='t';
$data['keyword']='k';
$Db->insert('article',$data);
$num = $Db->read('article.id','1 order by id desc');
$data['created'] = mktime()+$num['id'];
$Db->update('article',$data,"`id` =2");
$Db->delete('article',"`id` =3");

?>

標簽:,
-
成人福利一区二区视频在线-亚洲婷婷综合久久一本伊一区-日本高清午夜一区二区三区-日韩欧美黄色激情视频| 最好韩国日本免费高清-蜜桃视频一区二区三区在线观看-国产精品黄色大片在线看-日本高清视频亚洲不卡| 国产成人自拍视频精品-丝袜美腿亚洲一区二区刘亦菲-91精选国产在线视频-欧洲美熟女乱又伦免费| 国产成人啪午夜精品网站-国产乱码精品一区二区三区-男人天堂网av一区二区三区四区-亚洲第一区二区精品三区在线| 日日夜夜久久国产精品-国产男女无遮挡猛烈免费观看-在线观看热久精品视频-国产香蕉视频在线内射| 四虎av免费在线播放-久久精品国产熟女亚洲-日韩美女黄色录像播放-久久亚洲日本熟女精品视频| 国产在线观看av自拍-成人自拍小视频在线看-十八禁网站在线免费观看-丰满的熟妇露脸大屁股| 在线播放中文字幕国产精品-亚洲av成人免费在线观看-国产男女激情视频免费观看-亚洲av黄片一区二区三区| 日韩97精品一区二区三区-九九日本黄色精品视频-一进一出流出白浆视频-国产亚洲精品不卡视频| 亚洲欧美日韩不卡视频-四虎永久在线精品免费看-久久av丰满熟妇极品-亚洲国产精品中文字幕一区| 蜜臀精品国产亚洲av尤物-日韩人妻少妇中文字幕-赶碰97在线公开视频-亚洲欧美日韩天堂综合| 一本色道亚州综合久久精品-91麻豆国产专区在线观看-一级二级三级国产视频-熟女av天堂免费高清| 欧美av黄片在线观看-黄片国产一级片在线观看-国产精品黄色精品黄色大片-一区二区三区国产日本欧美| 欧洲亚洲高清另类清纯-国产av一区二区三区av-亚洲精品一区二区三区午夜-国产夫妻自拍3p视频在线| 91高清在线观看播放-av在线免费观看男人天堂-九九热在线视频免费观看-美女脱内裤露出隐私部位| 成熟女人毛茸茸的视频-国产亚洲精品综合一区二区-国产一区二区三区麻豆视频-国产精品自拍实拍在线看| 亚洲不卡av影院在线-久久精品伊人久久精品-亚洲国产日韩欧美三级-久久亚洲中文字幕精品二区| 国语对白高清在线观看-久久av精品一区二区三区-日韩在线中文字幕不卡-免费视频成人高清观看在线播放| 91精品啪在线观看国产91蜜桃-国产国拍亚洲精品av在线-日韩在线亚洲清纯av天堂-久久亚洲国产精品五月天| 精品国产成人一区二区99-午夜爱爱视频最新深夜-午夜福利片中文字幕在线观看-成人性生交大片免费小优| 亚洲午夜福利在线看片-草草影院在线观看国产-中文字幕在线国产有码-精品99成人午夜在线| 国产喷白浆一区二区三区网站-中文字幕人妻系列av-国产极品尤物自拍露脸-自拍偷区亚洲综合激情| 国内一级一厂片内射视频播放磨-国产乐播传媒在线观看-让你操水蜜桃在线观看-深夜三级视频在线观看| 久色视频精品在线观看-在线看片免费人成视久网国产-亚洲精品人妻中文字幕-国产一区二区午夜福利在线观看| 国产成人午夜精品久久-91久久精品一区二区喷水喷白浆-中文字幕日本人妻99-美女人妻少妇一区二区三区| 人妻体内射精一区二区三区小视频-国产精品久久久久人人爽-日韩三级黄色一区二区三区-亚洲伊人色综合网收藏| 日本激情内射亚洲精品-国产亚洲一区二区三区午夜-国产精品人妻熟女av在线-亚洲av综合亚洲精品| 国产激情久久久久成熟影院-成人午夜免费在线视频-亚洲中文字幕成人综合网-色噜噜精品视频在线观看| 日韩有码中文在线视频-少妇我被躁爽到高潮在线观看-精品丰满人妻一区二区三区-亚洲天堂高清在线播放| 国产精品乱码一区二区三区视频-国产自拍精品在线一区二区-五月综合丁香婷婷久久-在线国产精品一区二区三区| 亚洲精品一区二区三区探花-av在线免费播放成人-精品亚洲一区二区三区在线播放-国产精品午夜福利亚洲综合网| 成人精品视频一区二区三区不卡-中文字幕一区二区三区在线乱码-国产无av码在线观看麻豆-成年人三级自拍片自拍| 国产韩国精品一区二区三区-久久精品人妻一区二区三区av-黄片视频在线观看欧美-国产成人自拍在线视频| 乱中年女人伦中文字幕久久-国产成人高清免费视频网站-中文字幕亚洲人妻在线视频-中文字幕剧情av在线| 日本一区二区三区乱在线视频-国产精品一区二区精品视频-日本人妻系列在线免费看-国产成人高清三级视频| 国产a国产片免费观看-国产男女羞羞的视频在线观看-熟女亚洲综合精品伊人久久-国产精品av中文字幕| 午夜激情小视频在线观看-日本福利视频免费观看-日本人妻久久精品欧美一区-国产成人自拍小视频在线| 日韩国产自拍在线视频-亚洲av午夜激情在线播放-午夜福利你懂的在线观看-少妇特殊按摩高潮惨叫| 亚洲手机在线视频亚洲毛-欧美91精品国产自产在线-国产一区二区中文字幕在线视频-国产av91在线播放| 熟女国产精品一区二区三-一区二区三区av这些免费观看-精品国产一区二区二三区在线观看-国产精品一品二区三区日韩| 久久亚洲国产高清av一级-免费国产精品自偷自偷免费看-日本a级特黄三级三级三级-欧美日韩一区二区中文字幕高清视频|