> 백엔드 개발 > PHP 튜토리얼 > PHP는 DB 데이터베이스 mysql 클래스를 캡슐화합니다.

PHP는 DB 데이터베이스 mysql 클래스를 캡슐화합니다.

WBOY
풀어 주다: 2016-07-23 08:54:58
원래의
983명이 탐색했습니다.
  1. // 데이터베이스 구성
  2. 정의('DB_HOST' , '127.0.0.1'); //서버 주소
  3. 정의('DB_USER', 'root'); //사용자 이름
  4. 정의('DB_PASS', ''); / 비밀번호
  5. 정의('DB_DATABASENAME', 'fenxiao'); //데이터베이스
  6. class Dbmysql
  7. {
  8. /*
  9. *변수
  10. **/
  11. private $tablename="" / / 테이블 이름
  12. private $fieldname="*";
  13. private $conn;
  14. private $where;
  15. private $sql;
  16. function __construct($tablename)
  17. {
  18. //연결 생성
  19. $this->conn = mysql_connect(DB_HOST, DB_USER , DB_PASS) 또는 die("connect failed" . mysql_error())
  20. //데이터베이스 선택
  21. mysql_select_db(DB_DATABASENAME, $this->conn)
  22. //인코딩 형식 설정
  23. mysql_query("SET NAMES utf8");
  24. //var_dump($conn);
  25. $this->tablename=$tablename ;
  26. }
  27. //sql 문 설정
  28. 비공개 함수 setsql($sql)
  29. {
  30. $this->sql=$sql;
  31. }
  32. //조건문 설정
  33. 공개 함수 where($where)
  34. {
  35. $this->where=" where ".$where;
  36. return $this;
  37. }
  38. //지정된 필드 누르기
  39. 공개 함수 필드($keyword)
  40. {
  41. $this->fieldname=$ 키워드;
  42. return $this;
  43. }
  44. //연결 쿼리 테이블 설정
  45. 공용 함수 테이블($table1,$table2,$ field,$bool )
  46. {
  47. $this->tablename="$table1 LEFT JOIN $table2 ON $table1.$field$bool$table2.$field";
  48. / /print_r($this->tablename);
  49. return $this;
  50. }
  51. //다중 설정 테이블 쿼리
  52. 공용 함수 addtable($table1,$table2,$field,$bool)
  53. {
  54. $this->tablename.=" LEFT JOIN $table2 ON $table1.$field $bool$table2.$field";
  55. //print_r($this->tablename);
  56. return $this;
  57. }
  58. //연결 쿼리 테이블 설정
  59. ##SELECT * FROM [wx_order LEFT JOIN wx_shopcar ON wx_shopcar.oid=wx_order.oid and wx_order.uid=wx_shopcar .uid LEFT JOIN wx_goods ON wx_shopcar.gid=wx_goods.gid] WHERE wx_order.oid=1 및 wx_order.uid=3
  60. 공용 함수 settable($sql)
  61. {
  62. $this->tablename =$sql;
  63. //print_r($this->tablename);
  64. return $this;
  65. }
  66. //모든 데이터베이스를 쿼리하여 배열 형태로 출력
  67. public function select()
  68. {
  69. /**
  70. * 데이터베이스의 모든 데이터 조회
  71. * */
  72. $arr =array();
  73. //SQL 문 실행
  74. $result = mysql_query("select ".$this->fieldname." from ".$this->tablename.$ this->where, $this->conn);
  75. while ($row = mysql_fetch_assoc($result)) {
  76. array_push($arr, $row);
  77. }
  78. return $arr; 🎜>
  79. //지정된 필드 데이터 검색
  80. public function find()
  81. {
  82. //sql문 실행
  83. $result = mysql_query("select " .$this->fieldname." from ".$this->tablename.$this->where, $this->conn); > $result = mysql_fetch_assoc($result);
  84. return $result;
  85. }
  86. //데이터베이스에 데이터 추가
  87. 공용 함수 추가($data)
  88. {
  89. $keysql='';
  90. $valuesql='';
  91. foreach($data $key => $value) {
  92. $keysql.=",`$key`";
  93. $valuesql.=",'$value'";
  94. }
  95. $keysql= substr($keysql, 1);
  96. $valuesql=substr($valuesql, 1);
  97. $result=mysql_query("insert `".$this->tablename." ` ($keysql) VALUES($valuesql)");
  98. $id=mysql_insert_id();
  99. //print_r("insert `".$this->tablename." ` ($keysql) VALUES($valuesql)");
  100. return $id;
  101. }
  102. //데이터베이스 내용 수정
  103. public function save($data)
  104. {
  105. $keysql='';
  106. $valuesql='';
  107. foreach ( $data as $key => $value) {
  108. $keysql.=",`$key`='$value'";
  109. }
  110. $keysql =substr($keysql, 1);
  111. //print_r($keysql);
  112. //echo "
  113. $result=mysql_query( "UPDATE `".$this->tablename."` SET ".$keysql.$this->where);
  114. // print_r("UPDATE `".$this->tablename. "` SET ".$keysql.$this->where);
  115. return $result;
  116. }
  117. ##데이터 삭제
  118. 공개 함수 delete()
  119. {
  120. $result=mysql_query("DELETE FROM $this ->tablename $this->where");
  121. //print_r("DELETE FROM $this->tablename $this->where");
  122. return $result ;
  123. }
  124. }
  125. /**
  126. * mysql_fetch_row: 단일 열의 각 필드를 반환합니다. [0]=>"111"
  127. * mysql_fetch_field: 필드 정보를 가져옵니다. [0]=> ['name']=> object
  128. * mysql_fetch_array는 배열 데이터를 반환합니다. [0]=>"asasds" ['이름']=>
  129. */
  130. ?>
코드 복사

설치됨, PHP, mysql


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