本文实例讲述了php面象对象数据库操作类。分享给大家供大家参考。 具体实现代码如下: 复制代码 代码如下://此处构造一个数据库操作类,封装所有数据库操作 //可以扩展便于后台管理程序的使用 Class MySQLDB { var $host; var $user; var $passwd; var $database; var $conn; //利用构造函数实现变量初始化 //同时连接数据库操作 function MySQLDB($host,$user,$password,$database) { $this->host = $host; $this->user = $user; $this->passwd = $password; $this->database = $database; $this->conn=mysql_connect($this->host, $this->user,$this->passwd) or die("Could not connect to $this->host"); mysql_select_db($this->database,$this->conn) or die("Could not switch to database $this->database"); } //该函数用来关闭数据库连接 function Close() { MySQL_close($this->conn); } //该函数实现数据库查询操作 function Query($queryStr) { $res =Mysql_query($queryStr, $this->conn) or die("Could not query database"); return $res; } //该函数返回记录集 function getRows($res) { $rowno = 0; $rowno = MySQL_num_rows($res); if($rowno>0) { for($row=0;$row<$rowno;$row++ ) { $rows[$row]=MySQL_fetch_array($res); //本来为MySQL_fetch_row,但是不能以数组的方式来提取,只能用索引 //这样可以用索引和名称,更为方便 } return $rows; } } //该函数取回数据库记录数 function getRowsNum($res) { $rowno = 0; $rowno = mysql_num_rows($res); return $rowno; } //该函数返回数据库表字段数 function getFieldsNum($res) { $fieldno = 0; $fieldno = mysql_num_fields($res); return $fieldno; } //该函数返回数据库表字段名称集 function getFields($res) { $fno = $this->getFieldsNum($res); if($fno>0) { for($i=0;$i<$fno;$i++ ) { $fs[$i]=MySQL_field_name($res,$i);//取第i个字段的名称 } return $fs; } } } //使用时直接require该文件,然后实例化: $SqlDB = new MySQLDB("localhost","root","root","testdb"); $sql = "select * from tableX..."; $result = $SqlDB->Query($sql);//查询 $rs = $SqlDB->getRows($result);//获得记录集 $num = $SqlDB->getRowsNum($result);//获得记录数 ...剩下的操作就是循环取值, for($i=0;$i<$num;$i++){ echo($rs[$i]["字段名"]); } ... 最后不要忘记关闭数据路连接复制代码 代码如下:$SqlDB->Close();当然这句可以不要,php会自动注销!但是这样能够养成一个好的习惯,最好还是加上!其他自己类推。 希望本文所述对大家的PHP程序设计有所帮助。 |