欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php mysql经典数据库连接类代码

程序员文章站 2022-06-08 18:32:21
...
function mysql教程connector() : 类的构造函数,定义和包含配置信息
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 "";
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 "
";
// 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) //执行查询


*/