|
首页>编程技术>Php技术教程> |
给我讲解一下 DZ6.0论坛(Discuz_6_SC |
|
Visited times , Welcome to Data Mining Forum & Data Mining Expert |
|
|
<?php /* [Discuz!] (C)2001-2007 Comsenz Inc. This is NOT a freeware, use is subject to license terms $Id: db_mysql.class.php 10123 2007-08-24 01:40:08Z cnteacher $ */ // php使用defined()来防止外部直接访问php文件,从而保证了只让内部php文件include等调用 if(!defined('IN_DISCUZ')) { exit('Access Denied'); } class dbstuff { var $querynum = 0; // 执行数? var $link; // 连接 /* * 函数名 : connect * 功 能 : 数据库连接 * 参 数 : 数据库地址 用户名 密码 数据库名 * 备 注 : $pconnect = 0; // 数据库持久连接 0=关闭, 1=打开 数据挖掘论坛 */ function connect($dbhost, $dbuser, $dbpw, $dbname = '', $pconnect = 0, $halt = TRUE) { if($pconnect) { if(!$this-> link = @mysql_pconnect($dbhost, $dbuser, $dbpw)) { $halt && $this-> halt('Can not connect to MySQL server'); // halt 是函数 下面 } } else { if(!$this-> link = @mysql_connect($dbhost, $dbuser, $dbpw, 1)) { $halt && $this-> halt('Can not connect to MySQL server'); } } // 判断版本 version() 底部写了此函数 如果是php 4.1 if($this-> version() > '4.1') { global $charset, $dbcharset; // 设置全局变量 数据挖掘论坛 if(!$dbcharset && in_array(strtolower($charset), array('gbk', 'big5', 'utf-8'))) { $dbcharset = str_replace('-', '', $charset); } if($dbcharset) { @mysql_query("SET character_set_connection=$dbcharset, character_set_results=$dbcharset, character_set_client=binary", $this-> link); } // 判断版本 version() 底部写了此函数 如果是php 5.0.1 if($this-> version() > '5.0.1') { @mysql_query("SET sql_mode=''", $this-> link); } } if($dbname) { @mysql_select_db($dbname, $this-> link); } } /* * 函数名 : select_db 数据挖掘研究院 * 功 能 : 选择数据库 * 参 数 : $dbname 数控名 * 备 注 : */ function select_db($dbname) { return mysql_select_db($dbname, $this-> link); } /* * 函数名 : fetch_array * 功 能 : 执行sql语句 * 参 数 : $sql 语句 type 类型 * 备 注 : */ function fetch_array($query, $result_type = MYSQL_ASSOC) { return mysql_fetch_array($query, $result_type); } /* * 函数名 : query * 功 能 : 执行sql语句 * 参 数 : $sql 语句 type 类型 数据挖掘论坛 * 备 注 : */ function query($sql, $type = '') { global $debug, $discuz_starttime, $sqldebug, $sqlspenttimes; $func = $type == 'UNBUFFERED' && @function_exists('mysql_unbuffered_query') ? 'mysql_unbuffered_query' : 'mysql_query'; if(!($query = $func($sql, $this-> link))) { if(in_array($this-> errno(), array(2006, 2013)) && substr($type, 0, 5) != 'RETRY') { $this-> close(); require DISCUZ_ROOT.'./config.inc.php'; $this-> connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect); $this-> query($sql, 'RETRY'.$type); } elseif($type != 'SILENT' && substr($type, 5) != 'SILENT') { 数据挖掘实验室 $this-> halt('MySQL Query Error', $sql); } } $this-> querynum++; return $query; } /* * 函数名 : affected_rows * 功 能 : 报错 * 参 数 : * 备 注 : */ function affected_rows() { return mysql_affected_rows($this-> link); } /* * 函数名 : error * 功 能 : 报错 * 参 数 : * 备 注 : */ function error() { return (($this-> link) ? mysql_error($this-> link) : mysql_error()); 数据挖掘研究院 } /* * 函数名 : errno * 功 能 : 报错 * 参 数 : * 备 注 : */ function errno() { return intval(($this-> link) ? mysql_errno($this-> link) : mysql_errno()); } /* * 函数名 : result * 功 能 : * 参 数 : * 备 注 : */ function result($query, $row) { $query = @mysql_result($query, $row); return $query; } /* * 函数名 : num_rows * 功 能 : * 参 数 : * 备 注 : */ function num_rows($query) { $query = mysql_num_rows($query); return $query; } /* * 函数名 : num_fields * 功 能 : 释放 * 参 数 : * 备 注 : */ function num_fields($query) { return mysql_num_fields($query); } /* * 函数名 : free_result * 功 能 : 释放 * 参 数 : * 备 注 : */ 数据挖掘实验室 function free_result($query) { return mysql_free_result($query); } /* * 函数名 : insert_id * 功 能 : 关闭连接 * 参 数 : 无需参数 * 备 注 : */ function insert_id() { return ($id = mysql_insert_id($this-> link)) > = 0 ? $id : $this-> result($this-> query("SELECT last_insert_id()"), 0); } /* * 函数名 : fetch_row * 功 能 : * 参 数 : * 备 注 : */ function fetch_row($query) { 数据挖掘交友 $query = mysql_fetch_row($query); return $query; } /* * 函数名 : fetch_fields * 功 能 : 关闭连接 * 参 数 : 无需参数 * 备 注 : */ function fetch_fields($query) { return mysql_fetch_field($query); } /* * 函数名 : version * 功 能 : 判断版本 * 参 数 : 无需参数 * 备 注 : */ function version() { return mysql_get_server_info($this-> link); } /* * 函数名 : close * 功 能 : 关闭数据库连接 数据挖掘研究院 * 参 数 : 无需参数 * 备 注 : */ function close() { return mysql_close($this-> link); } /* * 函数名 : halt * 功 能 : * 参 数 : * 备 注 : */ function halt($message = '', $sql = '') { define('CACHE_FORBIDDEN', TRUE); require_once DISCUZ_ROOT.'./include/db_mysql_error.inc.php'; } } ?> 希望高手给我把函数及用法讲解详细点 高分重谢! 谢谢我觉得你贴出来的已经够清楚了,还要怎么详细讲解?那个我只是根据字面理解的 有些还是不懂它的功能 继续看代码理解,自己写个php文件,require那个类进去,echo出来测试 自己动手,丰衣足食 另外,你必须有一点基础,没有谁有耐心从头到尾帮你一个一个解释的,那个文件写的已经够详细了大多都是执行的php原有函数嘛直接找DZ论坛里的说明,哪里对每个函数都讲得明白的肯Create By Any-Extract(WL-AE) 数据挖掘交友
|
|
|
|
|
[数据挖掘专家]
[数据挖掘研究院]
[数据挖掘论坛]
[数据挖掘实验室]
|
上一篇:招PHP开发
下一篇:点标题栏能自动增减排列的效果,php能实现吗?
|
|
|
|