<?PHP /* * 版权声明: 您可以免费使用、修改以下代码,但必须事先通知作者,并保留以下版权信息. * 软件名称: * 开发人: 瓷匠软件工作室(C) * 开发时间: 2006.05~10 * QQ: 47488357 * E-Mail: 117zy@sohu.com * * 程序模块名称: MSSQL类 * 模块版本: V2.0.1 * 模块功能描述: * 创建人/时间: * 修改人/时间: * 模块版本日志: */ class mssql{ //定义变量 var $conn; var $result; var $debug; //调试设置 var $sqlstr; //SQL语句 var $info; //信息 var $dns; //服务器 var $uid; //用户名称 var $pwd; //密码 var $dbName; //数据库名称 var $sqlstr; //SQL语句 var $info; //信息 var $args = array(); //参数 var $debug; //调试 // 分页参数设置 var $CurrentPage; //当前页号 var $MaxPage; //最大页号 var $Linage; //每页行数 var $PaginalFormat; //翻页样式 var $MaxCount; //记录总数(指查询返回数) var $offset; //偏移量,指记录的开始 //1.构造 /* 参数设置参见2.设置连接/config */ function mssql($_set){ return $this->config($_set); }//end.mssql; //2.设置连接 /* 参数:$_set = "dns=主机名或IP;uid=用户ID;pwd=密码;dbname=数据库名" */ function config($_set){ //.初始化参数设置 $this->debug = false; //.调试设置 //.连接数据库 eregi("dns=(.+);uid=(.*);pwd=(.*);dbname=(.+)",$_set,$dbinfo); return $this->db_connect($dbinfo[1],$dbinfo[2],$dbinfo[3],$dbinfo[4]); }//end.config; //3.连接数据库 function db_connect($_dns,$_uid,$_pwd,$_dbname){ $this->conn = @mssql_connect($_dns,$_uid,$_pwd) or die("数据库连接失败!"); $this->result = $this->select_db($_dbname); return $this->conn; }//end.db_connect; //4.选择数据库 function select_db($_dbname){ return mssql_select_db($_dbname); }//end.select_db; //5.释放 function db_close($_args=null){ if(isset($_args)) return @mssql_close($_args); else return @mssql_close(); }//end.db_close; //6.执行返回结果集的SQL语句 /* 调用方法: 格式: query(string sqlstr[, resource link_identifier]) sqlstr : SQL语句. link_identifier : 连接标识符(conn) 如果没有指定link_identifier(连接标识符),则使用上一个打开的连接。 */ function query($_sqlstr,$_conn = null){ $this->sqlstr = $_sqlstr; if($this->debug) echo "<br>SQL: " . $_sqlstr; //.调试 if(isset($_conn)) return @mssql_query($_sqlstr,$_conn); else return @mssql_query($_sqlstr); }//end.query; //7.执行不返回结果集的SQL语句 /* 调用方法: 格式: execute(string sqlstr[, resource link_identifier]) sqlstr : SQL语句. link_identifier : 连接标识符(conn) 如果没有指定link_identifier(连接标识符),则使用上一个打开的连接。 */ function execute($_sqlstr,$_conn = null){ $this->sqlstr = $_sqlstr; if($this->debug) echo "<br>SQL: " . $_sqlstr; //.调试 @mssql_query($_sqlstr); }//end.execute; //8.执行不返回结果集的SQL语句(简写) function exec($_sqlstr,$_conn = null){ $this->execute($_sqlstr,$_conn); }//end.exec; //9.返回row式结果集. /* 调用格式: 语法格式: fetch_row(resource result); result: 是查询结果集. fetch_row()是从和指定的结果标识关联的结果集中取得一行数据并作为数组返回。 适用于access,mysql,mssql,odbc. 例1.: $db->execute("insert into test01(name) values('这是一个测试!')"); //6.执行一条返回结果的SQL语句 $rs = $db->query("select * from test01"); //7.以row方式显示结果 echo "<br>以row方式显示结果集<br>"; while($r = $db->fetch_row($rs)){ echo $r[0].":".$r[1]."<br>"; } //8.以array方式显示结果 $rs2 = $db->query("select * from test01"); echo "<br>以array方式显示结果集<br>"; while($r = $db->fetch_array($rs2)){ echo $r["id"] . ":" . $r["name"] . "<br>"; } */ function &fetch_row(&$_result){ return mssql_fetch_row($_result); }//end.&fetch_row; //10.返回数组模式 function &fetch_array(&$_result){ return mssql_fetch_array($_result); }//end.&fetch_array; //20.返回一个36位的唯一ID值 function getid(){ return md5(uniqid(microtime(),1)).getmypid(); }//end.getid; }//end.mssql. ?>