> 백엔드 개발 > PHP 튜토리얼 > PHP와 mysql을 기반으로 한 간단한 dao 클래스

PHP와 mysql을 기반으로 한 간단한 dao 클래스

WBOY
풀어 주다: 2016-07-23 08:55:00
원래의
931명이 탐색했습니다.
SimpleDao.class
  1. //require_once('FirePHPCore/FirePHP.class.php');
  2. //$firephp = FirePHP::getInstance( 진실); // firefox의 디버거
  3. class SimpleDao {
  4. private $_table = null;
  5. private static $_con = null;
  6. public function SimpleDao() {
  7. if ($this- >_con == null) {
  8. $this->_con = @mysql_connect("localhost", "root", "123456");
  9. if ($this->_con == FALSE) {
  10. echo("DB 서버 연결에 실패했습니다.");
  11. $this->_con = null;
  12. return;
  13. }
  14. //$firephp->log("new DAO 객체");
  15. @mysql_select_db("swan", $this->_con);
  16. }
  17. }
  18. 공용 함수 테이블($tablename) {
  19. $this ->_table = $tablename;
  20. return $this;
  21. }
  22. 공개 함수 쿼리($sql) {
  23. $result = @mysql_query($sql);
  24. $ ret = [];
  25. if ($result) {
  26. while ($row = mysql_fetch_array($result)) {
  27. $ret[] = $row;
  28. }
  29. }
  30. return $ret;
  31. }
  32. 공개 함수 get($where = null) {
  33. $sql = "select * from ".$this->_table;
  34. //$ sql = $sql.$this->_getWhereString($where);
  35. //echo "[get]".$sql."
    ";
  36. return $this->query($ sql);
  37. }
  38. 공개 함수 insert($params) {
  39. if ($params == null || !is_array($params)) {
  40. return -1;
  41. }
  42. $keys = $this->_getParamKeyString($params);
  43. $vals = $this->_getParamValString($ params);
  44. $sql = "".$this->_table."(".$keys.") 값(".$vals.")에 삽입";
  45. //echo "[insert ]".$sql."
    ";
  46. $result = @mysql_query($sql);
  47. if (! $result) {
  48. return -1;
  49. }
  50. return @mysql_insert_id();
  51. }
  52. 공개 함수 업데이트($params, $where = null) {
  53. if ($params == null || !is_array($params)) {
  54. return -1;
  55. }
  56. $upvals = $this->_getUpdateString($params);
  57. $wheres = $this->_getWhereString($where);
  58. $sql = "update ".$this->_table." set ".$upvals." ".$wheres;
  59. //echo "[update]".$sql."
    ";
  60. $ result = @mysql_query($sql);
  61. if (! $result) {
  62. return -1;
  63. }
  64. return @mysql_affected_rows();
  65. }
  66. 공개 function delete($where) {
  67. $wheres = $this->_getWhereString($where);
  68. $sql = "delete from ".$this->_table.$wheres;
  69. // echo "[삭제]".$sql."
    ";
  70. $result = @mysql_query($sql);
  71. if (! $result) {
  72. return -1;
  73. }
  74. return @mysql_affected_rows();
  75. }
  76. 보호 함수 _getParamKeyString($params) {
  77. $keys = array_keys( $params);
  78. return implode(",", $keys);
  79. }
  80. 보호 함수 _getParamValString($params) {
  81. $vals = array_values($params);
  82. return "'".implode("','", $vals)."'";
  83. }
  84. 비공개 함수 _getUpdateString($params) {
  85. //echo "_getUpdateString";
  86. $sql = "";
  87. if (is_array($params)) {
  88. $sql = $this->_getKeyValString($params, ",");
  89. }
  90. return $sql;
  91. }
  92. 비공개 함수 _getWhereString($params) {
  93. //echo "_getWhereString";
  94. $sql = "";
  95. if (is_array($params) ) {
  96. $sql = " where ";
  97. $where = $this->_getKeyValString($params, " 및 ");
  98. $sql = $sql.$where;
  99. }
  100. $sql을 반환합니다.
  101. }
  102. 비공개 함수 _getKeyValString($params, $split) {
  103. $str = "";
  104. if (is_array($params)) {
  105. $paramArr = array();
  106. foreach($params as $key=>$val) {
  107. $valstr = $val;
  108. if (is_string($val)) {
  109. $valstr = "'".$val." '";
  110. }
  111. $paramArr[] = $key."=".$valstr;
  112. }
  113. $str = $str.implode($split, $paramArr);
  114. }
  115. return $str;
  116. }
  117. 공개 함수 release() {
  118. @mysql_close();
  119. }
  120. }
  121. 함수 T($ table) {
  122. return (new SimpleDao())->table($table);
  123. }
  124. ?>
复主代码
使useSimpleDao의 代码段
  1. include "test/simpledao.php";
  2. $dao = T("sw_post");
  3. $ result = $dao->get();//모든 게시물 가져오기
  4. $dao->release();
  5. echo json_encode($result);
  6. ?>
  7. include "test/simpledao.php";
  8. $dao = T("sw_post");
  9. // id=1인 제목 업데이트
  10. $cnt = $dao-> ;update(array("title"=>"Hello REST2"), array("id"=>1));
  11. $dao->release();
  12. echo json_encode(array(" count"=>$cnt));
  13. ?>
  14. include "test/simpledao.php";
  15. $dao = T("sw_tag") ;
  16. // 새 레코드 삽입
  17. $cnt = $dao->insert(array("postid"=>4, "name"=>"测试TAG"));
  18. $dao ->release();
  19. echo json_encode(array("count"=>$cnt));
  20. ?>
  21. include "test/simpledao .php";
  22. $dao = T("sw_tag");
  23. // name='测试TAG'인 테이블에서 삭제
  24. $cnt = $dao->delete(array("name" =>"测试TAG"));
  25. $dao->release();
  26. echo json_encode(array("count"=>$cnt));
  27. ?>
复代代码
php, mysql, dao


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿