>  기사  >  백엔드 개발  >  객체 지향 mysql 데이터베이스 작업 PHP 클래스

객체 지향 mysql 데이터베이스 작업 PHP 클래스

WBOY
WBOY원래의
2016-07-25 08:43:04788검색
  1. 클래스 데이터베이스 {
  2. var $host = NULL;
  3. var $username = NULL;
  4. var $password = NULL;
  5. var $databaseName = NULL;
  6. var $link = NULL;
  7. var $queries = NULL;
  8. var $errors = NULL;
  9. var $databaseExtras = NULL;
  10. function __construct($host, $username, $password, $database) {
  11. $this->database($host, $username, $password, $database);
  12. }
  13. 함수 데이터베이스($host, $username, $password, $database) {
  14. /*$this->database = array (
  15. "host" => $host,
  16. "사용자 이름" => $username,
  17. "password" => $password,
  18. "database" => $database,
  19. "link" => " => 배열(),
  20. "errors" => 배열()
  21. );*/
  22. $this->host = $host;
  23. $this-> ;username = $username;
  24. $this->password = $password;
  25. $this->databaseName = $database;
  26. $this->link = "";
  27. $this ->queries = array ();
  28. $this->errors = array ();
  29. $this->databaseExtras = new stdClass;
  30. $this-> link = mysql_connect($this->host, $this->username, $this->password) 또는 die("데이터베이스에 연결할 수 없습니다.");
  31. mysql_select_db($this->databaseName);
  32. }
  33. function justquery($sql) {
  34. $this->queries[] = $sql;
  35. return mysql_query($sql, $this->link);
  36. }
  37. function loadResult($sql) {
  38. if (!($cur = $this->justquery($sql))) {
  39. return null;
  40. }
  41. $ret = null;
  42. if ($row = mysql_fetch_row( $cur )) {
  43. $ret = $row[0];
  44. }
  45. mysql_free_result( $cur );
  46. return $ret;
  47. }
  48. function loadFirstRow($sql) {
  49. if (!($cur = $this->justquery($sql))) {
  50. return null;
  51. }
  52. $ret = null;
  53. if ($row = mysql_fetch_object( $cur )) {
  54. $ret = $row;
  55. }
  56. mysql_free_result( $cur );
  57. return $ret;
  58. }
  59. function insertid() {
  60. return mysql_insert_id( $this->link );
  61. }
  62. function query($sql , $key = "", $returns = true, $batch = false) {
  63. $result = array ();
  64. 스위치($batch) {
  65. 기본값:
  66. 케이스 true :
  67. foreach($sql을 $index로 => $query) {
  68. $this->queries[] = $query;
  69. $answer = mysql_query($query, $this->link);
  70. if (!$answer) {
  71. $this->errors[] = mysql_error($this->link);
  72. }
  73. else {
  74. if ($returns != false) {
  75. if (mysql_num_rows ($answer) > 0){
  76. while ($row = mysql_fetch_object($answer)) {
  77. if ($key != ""){
  78. $result[$index][$row- >$key] = $row;
  79. }
  80. else {
  81. $result[$index][] = $row;
  82. }
  83. }
  84. } else {}
  85. } else {}
  86. }
  87. }
  88. break;
  89. case false:
  90. $this->queries[] = $sql;
  91. $answer = mysql_query( $sql, $this->link);
  92. if (!$answer) {
  93. $this->errors[] = mysql_error($this->link);
  94. $ result = false;
  95. }
  96. else {
  97. if ($returns != false) {
  98. if (mysql_num_rows($answer) > 0){
  99. while ($row = mysql_fetch_object($answer)) {
  100. if ($key != ""){
  101. $result[$row->$key] = $row;
  102. }
  103. else {
  104. $result[] = $row;
  105. }
  106. }
  107. } else {}
  108. }
  109. else {
  110. $result = true;
  111. }
  112. }
  113. break;
  114. }
  115. return $result;
  116. }
  117. function loadObject( $sql, &$object ) {
  118. if ($object != null) {
  119. if (!($cur = $this->justquery($sql))) {
  120. return false;
  121. } else {}
  122. if ($array = mysql_fetch_assoc( $cur )) {
  123. mysql_free_result( $cur );
  124. $this->bindArrayToObject( $array, $object);
  125. true 반환;
  126. }
  127. else {
  128. false 반환;
  129. }
  130. }
  131. else {
  132. if ($cur = $this->justquery($ sql)) {
  133. if ($object = mysql_fetch_object( $cur )) {
  134. mysql_free_result( $cur );
  135. return true;
  136. }
  137. else {
  138. $object = null ;
  139. false 반환;
  140. }
  141. }
  142. else {
  143. false 반환;
  144. }
  145. }
  146. }
  147. 함수 binArrayToObject( $array, &$obj) {
  148. if (!is_array( $array ) || !is_object( $obj )) {
  149. return (false);
  150. }
  151. foreach (get_object_vars($obj) as $k => $v) {
  152. if( substr( $k, 0, 1 ) != '_' ) {
  153. $ak = $k;
  154. if (isset($array[$ak])) {
  155. $obj->$k = $array[$ak];
  156. }
  157. }
  158. }
  159. return true;
  160. }
  161. 함수 형식CSVCell($data) {
  162. $useQuotes = false;
  163. $quotable = 배열(
  164. """ => """",
  165. "," => ",",
  166. "n" => "n"
  167. );
  168. foreach ($quotable as $char => $repl) {
  169. if (eregi($char, $data)) {
  170. $useQuotes = true ;
  171. } else {}
  172. }
  173. if ($useQuotes == true) {
  174. foreach ($quotable as $char => $repl) {
  175. $data = str_replace($char, $repl, $data);
  176. }
  177. $data = """ . $데이터 . """;
  178. }
  179. else {
  180. }
  181. return $data;
  182. }
  183. }
  184. ?>
제조대码

면向对象, mysql, php


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.