首页 > 开发 > PHP > 正文

php简单操作mysql数据库的类

2024-05-04 23:34:29
字体:
来源:转载
供稿:网友

这篇文章主要介绍了php简单操作mysql数据库的类,涉及php操作mysql的连接、查询、插入、删除等基本操作方法,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了php简单操作mysql数据库的类。分享给大家供大家参考。具体如下:

 

 
  1. <?php 
  2. /** 
  3. * Database class 
  4. * 
  5. * @version: 2.2 
  6. * @revised: 27 may 2007 
  7. * 
  8. **/ 
  9. class Database { 
  10. var $host
  11. var $name
  12. var $user
  13. var $pass
  14. var $prefix
  15. var $linkId
  16. function Database($mysql) { 
  17. foreach($mysql as $k => $v){ 
  18. $this->$k = $v
  19. if(strlen($this->prefix)>0 && substr($this->prefix, -1) !== "_"
  20. $prefix .= "_"
  21. $this->prefix = $prefix
  22. function getLastID() { 
  23. $id = mysql_fetch_row(mysql_query("SELECT LAST_INSERT_ID()"$this->linkId)); 
  24. return $id[0]; 
  25. function getPossibleValues($tableA$whereA) { 
  26. if(gettype($tableA) == "array") { 
  27. $table = ""
  28. foreach($tableA as $t) { 
  29. $table .= $this->prefix.$t.", "
  30. $table = substr($table, 0, -2); 
  31. else $table = $this->prefix.$tableA
  32. if(gettype($whereA) != "array") { 
  33. $whereA = array($whereA); 
  34. $return = array(); 
  35. foreach($whereA as $where) { 
  36. $sql = mysql_query("SHOW COLUMNS FROM ".$table." LIKE '%".$where."%'"); 
  37. while($arr = mysql_fetch_array($sql)) { 
  38. if(strpos($arr['Type'], 'enum')===0) { 
  39. $vals = substr($arr['Type'], 5, -1); 
  40. else { 
  41. $vals = substr($arr['Type'], 4, -1); 
  42. $vals = str_replace("'","",$vals); 
  43. $vals = explode(",",$vals); 
  44. $i = 1; 
  45. foreach($vals as $val) { 
  46. $return[$arr['Field']][$i++] = $val
  47. $return[$arr['Field']]['default'] = $arr['Default']; 
  48. if($arr['Null'] != "NO"$return[$arr['Field']][0] = NULL; 
  49. return $return
  50. function connect() { 
  51. $this->linkId = mysql_connect($this->host, $this->user, $this->pass); 
  52. if(!$this->linkId) { 
  53. return false; 
  54. if(mysql_select_db($this->name, $this->linkId)) return true; 
  55. mysql_close($this->linkId); 
  56. return false; 
  57. function runSelect($tables$where = "1"$fieldsA = "*"$order = false, $limit = false, $offset = false, $group = false) { 
  58. if(gettype($tables) == "array") { 
  59. $table = ""
  60. foreach($tables as $t) { 
  61. $table .= $this->prefix.$t.", "
  62. $table = substr($table, 0, -2); 
  63. else $table = $this->prefix.$tables
  64. if(gettype($fieldsA) == "array") { 
  65. $fields = ""
  66. $keys = array_keys($fieldsA); 
  67. if($keys[0] != '0') { 
  68. foreach($keys as $key) { 
  69. $fields .= $key.' AS '.$fieldsA[$key].', '
  70. else { 
  71. foreach($fieldsA as $field) { 
  72. $fields .= $field.', '
  73. $fields = substr($fields, 0, -2); 
  74. else $fields = $fieldsA
  75. $query = "SELECT ".$fields." FROM ".$table." WHERE ".$where
  76. ($order!== false?" ORDER BY ".$order:($group!==false ? " GROUP BY ".$group : "")). 
  77. ($limit !== false?" LIMIT ".$limit:""). 
  78. ($offset !== false?" OFFSET ".$offset:""); 
  79. return mysql_query($query$this->linkId); 
  80. function runUpdate($table$valuesA$where = "1") { 
  81. if(gettype($valuesA) == "array") { 
  82. $fields = ""
  83. $values = ""
  84. $keys = array_keys($valuesA); 
  85. foreach($keys as $key) { 
  86. if($valuesA[$key] !== NULL) 
  87. $values .= "`".$key."`='".str_replace("'",'/''$valuesA[$key])."',"
  88. else 
  89. $values .= $key."=NULL,"
  90. $fields = substr($fields, 0, -1); 
  91. $values = substr($values, 0, -1); 
  92. else $values = $valuesA
  93. $query = "UPDATE ".$this->prefix.$table." SET ".$values." WHERE ".$where
  94. if(mysql_query($query
  95. $this->linkId)) 
  96. return mysql_affected_rows($this->linkId); 
  97. return false; 
  98. function runDelete($table$where = "1") { 
  99. if(mysql_query("DELETE FROM ".$this->prefix.$table." WHERE ".$where$this->linkId)) 
  100. return mysql_affected_rows($this->linkId); 
  101. return false; 
  102. function runInsert($table$valuesA$onDuplicate = NULL) { 
  103. if(gettype($valuesA) == "array") { 
  104. $fields = ""
  105. $values = ""
  106. $keys = array_keys($valuesA); 
  107. foreach($keys as $key) { 
  108. $fields .= "`".$key."`, "
  109. $values .= ($valuesA[$key]===NULL?"NULL, ":"'".str_replace("'"'/''$valuesA[$key])."', "); 
  110. $fields = substr($fields, 0, -2); 
  111. $values = substr($values, 0, -2); 
  112. $onDup = ""
  113. if($onDuplicate != NULL) { 
  114. $onDup = " ON DUPLICATE KEY UPDATE "
  115. if(gettype($onDuplicate) == "array") { 
  116. $keys = array_keys($onDuplicate); 
  117. foreach($keys as $key) { 
  118. $onDup .= '`'.$key.'`='.($onDuplicate[$key]===NULL?"NULL,":"'".str_replace("'"'/''$onDuplicate[$key])."', "); 
  119. $onDup = substr($onDup, 0, -2); 
  120. else $onDup .= $onDuplicate
  121. $query = "INSERT INTO ".$this->prefix.$table.($fields!==NULL?"(".$fields.")":""). 
  122. " VALUES (".$values.")".$onDup
  123. if(mysql_query($query$this->linkId)) 
  124. return mysql_affected_rows($this->linkId); 
  125. return false; 
  126. function getCells($table){ 
  127. $query = "SHOW COLUMNS FROM `".$table."`"
  128. $fields = mysql_query($query$this->linkId) or die('hej'); 
  129. return $fields
  130. function translateCellName($cellName){ 
  131. $sql = $this->runSelect("mysql_cell_translation","mysql_name = '".$cellName."'"); 
  132. $row = mysql_fetch_assoc($sql); 
  133. return $row['human_name']?$row['human_name']:'<span class="faded">['.$cellName.']</span>'
  134. function getError() { 
  135. return mysql_error($this->linkId); 
  136. function close() 
  137. mysql_close($this->linkId); 
  138. ?> 

希望本文所述对大家的php+mysql数据库程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表