php面象对象数据库操作类实例

这篇文章主要介绍了php面象对象数据库操作类,以实例形式讲述了通过面向对象封装数据库操作的技巧,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了php面象对象数据库操作类。分享给大家供大家参考。

具体实现代码如下:

  1. //此处构造一个数据库操作类,封装所有数据库操作
  2. //可以扩展便于后台管理程序的使用
  3. Class MySQLDB
  4. {
  5. var $host;
  6. var $user;
  7. var $passwd;
  8. var $database;
  9. var $conn;
  10. //利用构造函数实现变量初始化
  11. //同时连接数据库操作
  12. function MySQLDB($host,$user,$password,$database)
  13. {
  14. $this->host = $host;
  15. $this->user = $user;
  16. $this->passwd = $password;
  17. $this->database = $database;
  18. $this->conn=mysql_connect($this->host, $this->user,$this->passwd) or
  19. die("Could not connect to $this->host");
  20. mysql_select_db($this->database,$this->conn) or
  21. die("Could not switch to database $this->database");
  22. }
  23. //该函数用来关闭数据库连接
  24. function Close()
  25. {
  26. MySQL_close($this->conn);
  27. }
  28. //该函数实现数据库查询操作
  29. function Query($queryStr)
  30. {
  31. $res =Mysql_query($queryStr, $this->conn) or
  32. die("Could not query database");
  33. return $res;
  34. }
  35. //该函数返回记录集
  36. function getRows($res)
  37. {
  38. $rowno = 0;
  39. $rowno = MySQL_num_rows($res);
  40. if($rowno>0)
  41. {
  42. for($row=0;$row<$rowno;$row++ )
  43. {
  44. $rows[$row]=MySQL_fetch_array($res);
  45. //本来为MySQL_fetch_row,但是不能以数组的方式来提取,只能用索引
  46. //这样可以用索引和名称,更为方便
  47. }
  48. return $rows;
  49. }
  50. }
  51. //该函数取回数据库记录数
  52. function getRowsNum($res)
  53. {
  54. $rowno = 0;
  55. $rowno = mysql_num_rows($res);
  56. return $rowno;
  57. }
  58. //该函数返回数据库表字段数
  59. function getFieldsNum($res)
  60. {
  61. $fieldno = 0;
  62. $fieldno = mysql_num_fields($res);
  63. return $fieldno;
  64. }
  65. //该函数返回数据库表字段名称集
  66. function getFields($res)
  67. {
  68. $fno = $this->getFieldsNum($res);
  69. if($fno>0)
  70. {
  71. for($i=0;$i<$fno;$i++ )
  72. {
  73. $fs[$i]=MySQL_field_name($res,$i);//取第i个字段的名称
  74. }
  75. return $fs;
  76. }
  77. }
  78. }
  79. //使用时直接require该文件,然后实例化:
  80. $SqlDB = new MySQLDB("localhost","root","root","testdb");
  81. $sql = "select * from tableX...";
  82. $result = $SqlDB->Query($sql);//查询
  83. $rs = $SqlDB->getRows($result);//获得记录集
  84. $num = $SqlDB->getRowsNum($result);//获得记录数
  85. ...剩下的操作就是循环取值,
  86. for($i=0;$i<$num;$i++){
  87. echo($rs[$i]["字段名"]);
  88. }
  89. ...

最后不要忘记关闭数据路连接,代码如下:

$SqlDB->Close();

当然这句可以不要,php会自动注销!但是这样能够养成一个好的习惯,最好还是加上!其他自己类推。

希望本文所述对大家的PHP程序设计有所帮助。