封装的 mysql类, 和sql语句生成类
程序员文章站
2022-05-31 22:25:58
...
host = $server['host']; $this->user = $server['user']; $this->pwd = $server['pwd']; $this->port = $server['port']; $this->dbname = $server['dbname']; $this->connect(); }//End of function public static function getInstance($server) { if( self::$isConnect ) { return self::$handle; } self::$handle = new self($server); self::$isConnect = true; return self::$handle; }//End of funtion private function connect() { $this->resource = mysql_connect($this->host.':'.$this->port, $this->user, $this->pwd ) or $this->error("connect fail"); mysql_select_db($this->dbname, $this->resource); return true; } private function getSql($sql) { $operate = array('insert', 'delete', 'update', 'select', 'create'); return $sql; } public function query($sql) { $sql = $this->getSql($sql); mysql_query("SET NAMES UTF8"); $query_result = mysql_query($sql, $this->resource) or $this->error("query fail"); return $query_result; } public function getQueryResult($sql) { $query_result = $this->query($sql); $result = array(); if( !$query_result ) { return $result; } while ( $row = mysql_fetch_assoc($query_result) ) { $result[] = $row; } $result['rows'] = mysql_num_rows($query_result); $query_result = null; return $result; } public function getInsertResult($sql) { $query_result = $this->query($sql); if( !$query_result ) { return false; } return mysql_insert_id($this->resource); } public function getUpdateResult($sql) { $query_result = $this->query($sql); if( !$query_result ) { return false; } return mysql_affected_rows($this->resource); } public function getDeleteResult($sql) { return $this->getUpdateResult($sql); } public function close_connect() { self::$handle = null; self::$isConnect = false; mysql_free_result($this->resource); $this->resource = null; } private function error($msg='') { $msg = "$msg--->>".mysql_error(); die($msg); } }//End of class ?>
2. [文件] DbTool.class.php
primary_key = $primary_key; } } public function getInsertSql($data, $table) { $sql = $key_str = $value_str = ""; foreach($data as $key=>$value) { $key_str .= "{$key}, "; $value_str .= "'{$value}', "; } $key_str = trim($key_str, ', '); $value_str = trim($value_str, ', '); $sql = "INSERT INTO {$table}({$key_str}) VALUES({$value_str})"; $data=null; $key_str=null; $value_str=null; return $sql; } public function getUpdateSql($data, $table) { $pk = $this->primary_key; $id = $data[$pk]; unset($data[$pk]); $sql = $key_value = ""; foreach($data as $key=>$value) { $key_value .= "{$key}='{$value}', "; } $key_value = trim($key_value, ', '); $sql = "UPDATE {$table} SET {$key_value} WHERE $pk='{$id}'"; $data=null; $key_value=null; return $sql; } public function getQuerySql($condition, $table) { $field = empty($condition['field']) ? '*': $condition['field']; $sql = "SELECT {$field} FROM {$table} "; if( isset($condition['where']) ) { $sql .= "WHERE {$condition['where']} "; } if( isset($condition['groupby']) ) { $sql .= "GROUP BY {$condition['groupby']} "; } if( isset($condition['orderby']) ) { $sql .= "ORDER BY {$condition['orderby']} "; } if( isset($condition['limit']) ) { $sql .= "LIMIT {$condition['limit']} "; } $condition=null; return $sql; } public function getDeleteSql($id, $table) { $pk = $this->primary_key; $sql = "DELETE FROM {$table} WHERE $pk='{$id}' "; return $sql; } } ?>
上一篇: mysql query cache用法与性能详细介绍
下一篇: php 设计模式(转载)
推荐阅读
-
ms sql server中实现的unix时间戳函数(含生成和格式化,可以和mysql兼容)
-
清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦
-
PHP新手用的Insert和Update语句构造类
-
MySQL在大数据、高并发场景下的SQL语句优化和"最佳实践"
-
PHP+Mysql实现多关键字与多字段生成SQL语句的函数
-
清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦
-
php封装的连接Mysql类及用法分析
-
清晰讲解SQL语句中的内连接,通用于Mysql和Oracle,全是干货哦
-
C#_Excel数据读取与写入_自定义解析封装类_支持设置标题行位置&使用excel表达式收集数据&单元格映射&标题映射&模板文件的参数数据替换(第二版-增加深度读取和更新功能)
-
生成多字段排序分页的SQL的通用类