php と mysql に基づくシンプルな dao クラス
リリース: 2016-07-23 08:55:00
SimpleDao.class
- //require_once('FirePHPCore/FirePHP.class.php');
- //$firephp = FirePHP::getInstance(true); // 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("データベースサーバーへの接続に失敗しました。");
- $this ->_con = null;
- return;
- }
- //$firephp->log("新しい 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;
- }
-
- public function get ($where = null) {
- $sql = "select * from ".$this->_table;
- //$sql = $sql.$this->getWhereString($where);
- //echo "[ get]".$sql."
";
- return $this->query($sql);
- }
-
- public function insert($params) {
- if ($params == null || !is_array($params)) {
- return -1;
- }
- $keys = $this->_getParamKeyString($params);
- $vals = $this->_getParamValString($params);
- $sql = " insert into ".$this->_table."(".$keys.") value(".$vals.")";
- //echo "[insert]".$sql."
" ;
- $result = @mysql_query($sql);
- if (! $result) {
- return -1;
- }
- return @mysql_insert_id();
- }
-
- public function update($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."< br>";
- $result = @mysql_query($sql);
- if (! $result) {
- return -1;
- }
- return @mysql_affected_rows();
- }
-
- public function delete($where) {
- $wheres = $this->_getWhereString($where);
- $sql = "「.$this->_table.$wheres;から削除」
- //echo "[delete]".$sql."
$result = @mysql_query($sql); - if (! $result) {
- return -1;
- }
- return @mysql_affected_rows();
- }
- protected function _getParamKeyString($params) {
- $keys = array_keys($params);
- return implode(",", $keys );
- }
- protected function _getParamValString($params) {
- $vals = array_values($params);
- return "'".implode("','", $vals)."'";
- }
- private function _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, " and ");
- $sql = $sql.$where;
- }
- return $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;
- }
-
- public function release() {
- @mysql_close();
- }
- }
-
- function T($table) {
- return (new SimpleDao())->table($table);
- }
- ?>
复制代码
SimpleDao の代コードセグメントを使用します
- include "test/simpledao.php";
- $dao = T("sw_post");
- $result = $dao->get();//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