Home > Backend Development > PHP Tutorial > A php class that calls the database

A php class that calls the database

WBOY
Release: 2016-07-25 09:10:41
Original
978 people have browsed it
  1. class DataBase

  2. {
  3. var $pConnect=FALSE;//Whether to use long connection
  4. var $mHost;//Database host
  5. var $mDatabase;
  6. var $db ; //Database
  7. var $mUser; //Database user name
  8. var $mPwd; // Database user password
  9. var $mConn; // Connection ID
  10. var $result; // Resource ID of the result of executing the query command
  11. var $ num_rows;//The number of entries returned
  12. var $insert_id;// Returns the ID of the last INSERT command used
  13. var $affected_rows;// Returns the number of columns affected by the query command
  14. // Affected by INSERT, UPDATE or DELETE The number of rows.
  15. // delete without where, then returns 0
  16. //Constructor function
  17. public function __construct($host,$user,$pwd,$db)
  18. {
  19. $this->mHost=$host;
  20. $ this->mUser=$user;
  21. $this->mPwd=$pwd;
  22. $this->db=$db;
  23. }
  24. //Database connection
  25. public function connect()
  26. {
  27. if( $this->pConnect)
  28. $this->mConn=mysql_pconnect($this->mHost,$this->mUser,$this->mPwd);//Long connection
  29. else
  30. $this-> ;mConn=mysql_connect($this->mHost,$this->mUser,$this->mPwd);//short connect

  31. if(!$this->mConn) $this->dbhalt("Cannot connect to database!");

  32. if($this->db=="") $this->db=$this->dbDatabase;
  33. if(!mysql_select_db( $this->db,$this->mConn))
  34. $this->dbhalt("Database not available!");
  35. } // eof#dbconnect()

  36. //Change the database

  37. public function dbChange($db){
  38. $this->db=$db;
  39. $this->connect();
  40. }

  41. //Execute SQL Statement, return result resource id

  42. public function execute($sql){
  43. $this->result=mysql_query($sql);
  44. return $this->result;
  45. }

  46. //Get array-index and association

  47. public function fetchArray($resultType=MYSQL_BOTH)
  48. {
  49. return mysql_fetch_array($this->result,$resultType);
  50. }
  51. //Get associative array
  52. public function fetchAssoc()
  53. {
  54. return mysql_fetch_assoc($this->result);
  55. }
  56. //Get the numeric index array
  57. public function fetchIndexArray()
  58. {
  59. return mysql_fetch_row($this->result);
  60. }
  61. // Get the object array
  62. public function fetchObject()
  63. {
  64. return mysql_fetch_object($this->result);
  65. }
  66. //Return the number of record rows
  67. function numRows()
  68. {
  69. return mysql_num_rows($this->result );
  70. }

  71. //Return all database names in the host

  72. public function dbNames()
  73. {
  74. $rsPtr=mysql_list_dbs($this->mConn);
  75. $i=0;
  76. $cnt=mysql_num_rows($rsPtr);
  77. while($i<$cnt)
  78. {
  79. $rs[]=mysql_db_name($rsPtr,$i);
  80. $i++;
  81. }
  82. return $rs;
  83. }< ;/p>
  84. function dbhalt($errmsg){

  85. $msg="There is a problem with the database!";
  86. $msg=$errmsg;
  87. echo "$msg";
  88. die();
  89. }< /p>
  90. //Delete

  91. function delete($sql){
  92. $result=$this->execute($sql,$dbbase);
  93. $this->affected_rows=mysql_affected_rows($this- >dbLink);
  94. $this->free_result($result);
  95. return $this->affected_rows;
  96. }

  97. //Add

  98. function insert($sql){
  99. $result=$this->execute($sql,$dbbase);
  100. $this->insert_id=mysql_insert_id($this->dbLink);
  101. $this->free_result($result);
  102. return $ this->insert_id;
  103. }

  104. //Change

  105. function update($sql){
  106. $result=$this->execute($sql,$dbbase);
  107. $this ->affected_rows=mysql_affected_rows($this->dbLink);
  108. $this->free_result($result);
  109. return $this->affected_rows;
  110. }
  111. //Close the connection
  112. function dbclose(){
  113. mysql_close($this->dbLink);
  114. }
  115. }// end class
  116. ?>

Copy code

Call example:

  1. include "class_database.php";

  2. $mydb=new DataBase("localhost","root","123456" ,"test");

  3. $mydb->connect();
  4. $mydb->execute("set names GBK");
  5. $mydb->execute("select * from usrs");
  6. print_r( $mydb->dbNames());
  7. ?>

Copy code


Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template