php mysql经典数据库连接类代码
<?php /* function mysqlconnector() : 类的构造函数,定义和包含配置信息 function connectmysql() : 打开数据库教程连接 function close() : 关闭数据库连接 function returnsql($sql) : 执行一条语句,返回一行的数组 function executesql($sql) : 执行一段查询,返回是否成功 function returndb($sql) : 执行查询,返回数据集 function selectlimit($sql,$offset_b,$offset_n=0) : 分页查询,返回数据集 参数(sql语句,开始位置,读取行数) function datearray($sql,$startid,$endid) : 分页查询,返回二维数组 参数(sql语句,开始位置,读取行数) function getarray($sql) : 执行两个字段的查询,返回一个数组,格式 array[row["0"]]=>row["1"] */ class mysqlconnector { /* public: 数据库连接参数 */ var $dbhost; //服务器地址 var $dbname; //数据库名称 var $dbusername; //连接账号 var $dbpassword; //连接密码 var $setnames; //数据库编码 function mysqlconnector() //构造函数,数据库链接配置 { $this->dbname = "xixia"; $this->dbhost = "localhost"; $this->dbusername = "root"; $this->dbpassword = "123456"; $this->setnames = "gbk"; } function connectmysql() //链接数据库,返回活动连接 { $openconn = mysql_pconnect($this->dbhost, $this->dbusername, $this->dbpassword) or die("连接数据库错误,请检查配置!"); mysql_query("set names '" . $this->setnames . "'", $openconn); mysql_select_db($this->dbname, $openconn); return $openconn; } /* * *执行查询语句,返回某一行的数组 */ function returnsql($sql) { $array_result = ""; //mysql_unbuffered_query $db_result = mysql_query($sql, $this->connectmysql()); if ($db_result) { $array_result = mysql_fetch_array($db_result); } mysql_free_result($db_result); //释放记录集 return $array_result; } /* * *执行查询语句,返回数据 * */ function returndb($sql) { $db_result = mysql_query($sql, $this->connectmysql()); return $db_result; } /* * *执行查询语句,返回某两列的数组,主要用于下拉框,前一列是values,后一列是option * */ function getarray($sql) { $array_result = array(); $db_result = mysql_query($sql, $this->connectmysql()); if ($db_result) { while ($row = mysql_fetch_row($db_result)) { $array_result[$row[0]] = $row[1]; } } return $array_result; } /* * *执行一条sql语句,返回执行是否成功 * */ function executesql($sql) { //$sql = str_replace("","",$sql); $result = mysql_query($sql, $this->connectmysql()); if (!$result) { echo "<!--出错了:" . $sql . "-->"; return false; } else { return true; } } /* 分页读取sql语句,返回纪录集, 参数分别为sql语句,开始行数,读取条数(传递2哥参数时,开始行数即为读取条数) */ function selectlimit($sql, $offset_b, $offset_n = 0) { $result = ""; $this->checklink($sql); if (!$offset_n) { $limit = " limit " . $offset_b; } else { $limit = " limit " . $offset_b . "," . $offset_n; } $sql.= $limit; // echo "<br>"; // echo $sql; $result = $this->returndb($sql); return $result; } /* * *将数据集转化成数组 * */ function datearray($sql, $startid, $endid) { $array_result = array(); $db_result = $this->selectlimit($sql, $startid, $endid); //根据sql语句读取数据集 if ($db_result) { //数据集存在 $i = 0; while ($row = mysql_fetch_row($db_result)) //循环填充数组 { $array_result[$i] = $row; $i++; } } return $array_result; } /* * *关闭链接 * */ function close() { if ($this->linkid != null) { mysql_close($this->linkid); unset($this); } } } /* *使用案例: $conn= new mysqlconnector(); //实例化 $db = &$conn; $db->returnsql($sql) //执行查询 */
本文地址:http://www.phprm.com/database/36409.html
转载随意,但请附上文章地址:-)