php面象对象数据库操作类

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

最后不要忘记关闭数据路连接哦$SqlDB->Close();当然这句可以不要,php会自动注销!但是这样能够养成一个好的习惯,最好还是加上!其他自己类推...不懂的可以提问!