PHP와 mysql을 기반으로 한 간단한 dao 클래스
풀어 주다: 2016-07-23 08:55:00
SimpleDao.class
- //require_once('FirePHPCore/FirePHP.class.php');
- //$firephp = FirePHP::getInstance( 진실); // firefox의 디버거
- class SimpleDao {
- private $_table = null;
- private static $_con = null;
- public function SimpleDao() {
- if ($this- >_con == null) {
- $this->_con = @mysql_connect("localhost", "root", "123456");
- if ($this->_con == FALSE) {
- echo("DB 서버 연결에 실패했습니다.");
- $this->_con = null;
- return;
- }
- //$firephp->log("new DAO 객체");
- @mysql_select_db("swan", $this->_con);
- }
- }
-
- 공용 함수 테이블($tablename) {
- $this ->_table = $tablename;
- return $this;
- }
-
- 공개 함수 쿼리($sql) {
- $result = @mysql_query($sql);
- $ ret = [];
- if ($result) {
- while ($row = mysql_fetch_array($result)) {
- $ret[] = $row;
- }
- }
- return $ret;
- }
-
- 공개 함수 get($where = null) {
- $sql = "select * from ".$this->_table;
- //$ sql = $sql.$this->_getWhereString($where);
- //echo "[get]".$sql."
";
- return $this->query($ sql);
- }
-
- 공개 함수 insert($params) {
- if ($params == null || !is_array($params)) {
- return -1;
- }
- $keys = $this->_getParamKeyString($params);
- $vals = $this->_getParamValString($ params);
- $sql = "".$this->_table."(".$keys.") 값(".$vals.")에 삽입";
- //echo "[insert ]".$sql."
";
- $result = @mysql_query($sql);
- if (! $result) {
- return -1;
- }
- return @mysql_insert_id();
- }
-
- 공개 함수 업데이트($params, $where = null) {
- if ($params == null || !is_array($params)) {
- return -1;
- }
- $upvals = $this->_getUpdateString($params);
- $wheres = $this->_getWhereString($where);
- $sql = "update ".$this->_table." set ".$upvals." ".$wheres;
- //echo "[update]".$sql."
";
- $ result = @mysql_query($sql);
- if (! $result) {
- return -1;
- }
- return @mysql_affected_rows();
- }
-
- 공개 function delete($where) {
- $wheres = $this->_getWhereString($where);
- $sql = "delete from ".$this->_table.$wheres;
- // echo "[삭제]".$sql."
";
- $result = @mysql_query($sql);
- if (! $result) {
- return -1;
- }
- return @mysql_affected_rows();
- }
-
- 보호 함수 _getParamKeyString($params) {
- $keys = array_keys( $params);
- return implode(",", $keys);
- }
-
- 보호 함수 _getParamValString($params) {
- $vals = array_values($params);
- return "'".implode("','", $vals)."'";
- }
-
- 비공개 함수 _getUpdateString($params) {
- //echo "_getUpdateString";
- $sql = "";
- if (is_array($params)) {
- $sql = $this->_getKeyValString($params, ",");
- }
- return $sql;
- }
-
- 비공개 함수 _getWhereString($params) {
- //echo "_getWhereString";
- $sql = "";
- if (is_array($params) ) {
- $sql = " where ";
- $where = $this->_getKeyValString($params, " 및 ");
- $sql = $sql.$where;
- }
- $sql을 반환합니다.
- }
-
- 비공개 함수 _getKeyValString($params, $split) {
- $str = "";
- if (is_array($params)) {
- $paramArr = array();
- foreach($params as $key=>$val) {
- $valstr = $val;
- if (is_string($val)) {
- $valstr = "'".$val." '";
- }
- $paramArr[] = $key."=".$valstr;
- }
- $str = $str.implode($split, $paramArr);
- }
- return $str;
- }
-
- 공개 함수 release() {
- @mysql_close();
- }
- }
-
- 함수 T($ table) {
- return (new SimpleDao())->table($table);
- }
- ?>
复主代码
使useSimpleDao의 代码段
- include "test/simpledao.php";
- $dao = T("sw_post");
- $ result = $dao->get();//모든 게시물 가져오기
- $dao->release();
- echo json_encode($result);
- ?>
-
- include "test/simpledao.php";
- $dao = T("sw_post");
- // id=1인 제목 업데이트
- $cnt = $dao-> ;update(array("title"=>"Hello REST2"), array("id"=>1));
- $dao->release();
- echo json_encode(array(" count"=>$cnt));
- ?>
-
- include "test/simpledao.php";
- $dao = T("sw_tag") ;
- // 새 레코드 삽입
- $cnt = $dao->insert(array("postid"=>4, "name"=>"测试TAG"));
- $dao ->release();
- echo json_encode(array("count"=>$cnt));
- ?>
-
- include "test/simpledao .php";
- $dao = T("sw_tag");
- // name='测试TAG'인 테이블에서 삭제
- $cnt = $dao->delete(array("name" =>"测试TAG"));
- $dao->release();
- echo json_encode(array("count"=>$cnt));
- ?>
-
-
复代代码
|
php, mysql, dao
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31