`
- 浏览:
242072 次
- 性别:
- 来自:
北京
-
- <?php
-
-
-
-
-
-
-
-
-
-
class Db{
-
-
protected $link = null;
-
-
public $table = '';
-
-
protected $options = array();
-
-
protected $sql = '';
-
-
protected $dbCharset = 'utf8';
-
-
-
protected $cachePath = './cache/';
-
-
protected $cacheFileExt = "php";
-
-
protected $cacheFileName;
-
-
protected $cache = false;
-
-
protected $cacheLimitTime = 60;
-
-
-
protected $returnType = 1;
-
-
-
-
-
function setCacheFileName($fileName) {
-
$cacheFileName = $this->cachePath . strtoupper(md5($fileName)).".".$this->cacheFileExt;
-
$this->cacheFileName=$cacheFileName;
- }
-
-
-
-
function getCacheFileName() {
-
return $this->cacheFileName;
- }
-
-
-
-
-
-
-
-
public function connect($db){
-
-
$db['host'] = isset($db['port']) ? $db['host'].':'.$db['port']: $db['host'];
-
$db['char'] = isset($db['char']) ? $db['char']: $this->dbCharset;
-
$func = $db['pconnect'] ? 'mysql_pconnect' : 'mysql_connect';
-
$this->link = $func($db['host'], $db['user'], $db['pwd']);
-
mysql_select_db($db['database'], $this->link);
-
mysql_query("SET NAMES '{$db['char']}'");
-
$this->cachePath = isset($db['cachepath']) ? $db['cachepath']: $this->cachePath;
-
return $this->link;
- }
-
-
-
-
-
-
-
-
-
-
public function find($where = NULL, $field = '*', $table = ''){
-
return $this->findAll($where = NULL, $field = '*', $table = '', FALSE);
- }
-
-
-
-
-
-
-
-
-
-
public function findAll($where = NULL, $field = '*', $table = '', $all = TRUE){
-
$this->options['where'] = is_null($where) ? @$this->options['where']: $where;
-
$this->options['field'] = isset($this->options['field']) ? $this->options['field']: $field;
-
$this->options['table'] = $table == '' ? $this->table: $table;
-
$sql = "SELECT {$this->options['field']} FROM `{$this->options['table']}` ";
-
$sql .= isset($this->options['join']) ? ' LEFT JOIN '.$this->options['join']: '';
-
$sql .= isset($this->options['where']) ? ' WHERE '.$this->options['where']: '';
-
$sql .= isset($this->options['group']) ? ' GROUP BY '.$this->options['group']: '';
-
$sql .= isset($this->options['having']) ? ' HAVING '.$this->options['having']: '';
-
$sql .= isset($this->options['order']) ? ' ORDER BY '.$this->options['order']: '';
-
$sql .= isset($this->options['limit']) ? ' LIMIT '.$this->options['limit']: '';
-
$this->sql = $sql;
-
$row = NULL;
-
-
if ($this->cache === TRUE){
-
$this->setCacheFileName($this->sql);
-
$row = $this->readCache();
- }
-
-
if (is_null($row)){
-
$result = $this->query();
-
$row = $all === TRUE ? $this->fetchAll($result): $this->fetch($result);
-
-
if ($this->cache === TRUE){
-
$this->writeCache($row);
- }
-
$this->options = array();
- }
-
return $row;
- }
-
-
-
-
-
-
-
-
public function fetchAll($result = NULL){
-
$rows = array();
-
while ($row = $this->fetch($result)){
-
$rows[] = $row;
- }
-
return $rows;
- }
-
-
-
-
-
-
-
-
-
public function fetch($result = NULL, $type = NULL){
-
$result = is_null($result) ? $this->result: $result;
-
$type = is_null($type) ? $this->returnType: $type;
-
$func = $type === 1 ? 'mysql_fetch_assoc' : 'mysql_fetch_object';
-
return $func($result);
- }
-
-
-
-
-
-
-
-
-
public function query($sql = '', $link = NULL){
-
$sql = emptyempty($sql) ? $this->sql: $sql;
-
$link = is_null($link) ? $this->link: $link;
-
$this->result = mysql_query($sql, $link);
-
if (is_resource($this->result)){
-
return $this->result;
- }
-
-
exit('<strong>Mysql error:</strong>'.$this->getError());
- }
-
-
-
-
-
-
-
-
-
public function execute($sql = '', $link = NULL){
-
$sql = emptyempty($sql) ? $this->sql: $sql;
-
$link = is_null($link) ? $this->link: $link;
-
if (mysql_query($sql, $link)){
-
return TRUE;
- }
-
return FALSE;
- }
-
-
-
-
-
-
-
-
-
public function add($data, $table = NULL){
-
$table = is_null($table) ? $this->table: $table;
-
$sql = "INSERT INTO `{$table}`";
-
$fields = $values = array();
-
$field = $value = '';
-
-
foreach($data as $key => $val){
-
$fields[] = "`{$table}`.`{$key}`";
-
$values[] = is_numeric($val) ? $val : "'{$val}'";
- }
-
$field = join(',', $fields);
-
$value = join(',', $values);
-
unset($fields, $values);
-
$sql .= "({$field}) VALUES({$value})";
-
$this->sql = $sql;
-
$this->execute();
-
return $this->insertId();
- }
-
-
-
-
-
-
-
-
-
public function delete($where = NULL, $table = NULL){
-
$table = is_null($table) ? $this->table: $table;
-
$where = is_null($where) ? @$this->options['where']: $where;
-
$sql = "DELETE FROM `{$table}` WHERE {$where}";
-
$this->sql = $sql;
-
$this->execute();
-
return $this->affectedRows();
- }
-
-
-
-
-
-
-
-
-
-
public function update($data, $where = NULL, $table = NULL){
-
$table = is_null($table) ? $this->table: $table;
-
$where = is_null($where) ? @$this->options['where']: $where;
-
$sql = "UPDATE `{$table}` SET ";
-
$values = array();
-
foreach($data as $key => $val){
-
$val = is_numeric($val) ? $val : "'{$val}'";
-
$values[] = "`{$table}`.`{$key}` = {$val}";
- }
-
$value = join(',', $values);
-
$this->sql = $sql.$value." WHERE {$where}";
-
$this->execute();
-
return $this->affectedRows();
- }
-
-
-
-
-
-
-
protected function readCache(){
-
$file = $this->getCacheFileName();
-
if (file_exists($file)){
-
-
if ((filemtime($file) + $this->cacheLimitTime) < time()){
-
@unlink($file);
-
return NULL;
- }
-
if (1 === $this->returnType){
-
$row = include $file;
- }
-
else{
-
$data = file_get_contents($file);
-
$row = unserialize($data);
- }
-
return $row;
- }
-
return NULL;
- }
-
-
-
-
-
-
-
-
public function writeCache($data){
-
$file = $this->getCacheFileName();
-
if ($this->makeDir(dirname($file))){
-
if (1 === $this->returnType){
-
$data = '<?php return '.var_export($data, TRUE).';?>';
-
}else{
-
$data = serialize($data);
- }
- }
-
return file_put_contents($file, $data);
- }
-
-
-
-
-
-
function clearCache( $fileName = "all" ) {
-
if( $fileName != "all" ) {
-
if( file_exists( $fileName ) ) {
-
return @unlink( $fileName );
-
}else return false;
- }
-
if ( is_dir( $this->cachePath ) ) {
-
if ( $dir = @opendir( $this->cachePath ) ) {
-
while ( $file = @readdir( $dir ) ) {
-
$check = is_dir( $file );
-
if ( !$check )
-
@unlink( $this->cachePath . $file );
- }
-
@closedir( $dir );
-
return true;
-
}else{
-
return false;
- }
-
}else{
-
return false;
- }
- }
-
-
-
-
-
-
-
function makeDir( $dir, $mode = "0777" ) {
-
if( ! $dir ) return 0;
-
$dir = str_replace( "\\", "/", $dir );
-
-
$mdir = "";
-
foreach( explode( "/", $dir ) as $val ) {
-
$mdir .= $val."/";
-
if( $val == ".." || $val == "." || trim( $val ) == "" ) continue;
-
-
if( ! file_exists( $mdir ) ) {
-
if(!@mkdir( $mdir, $mode )){
-
return false;
- }
- }
- }
-
return true;
- }
-
-
public function __call($func, $args)
- {
-
if(in_array($func, array('field', 'join', 'where'</
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
总之,`jdbc连接mysql工具类`主要涉及JDBC API的使用,包括数据库连接、预编译的SQL语句(PreparedStatement)、结果集处理以及资源管理。这个工具类可以极大地简化数据库操作,提高代码的可维护性和复用性。通过...
这里我们讨论的"php-mysql工具类"就是一种为了简化PHP与MySQL交互而设计的代码模块。这个工具类采用了设计模式中的单例模式来确保在整个应用程序中只有一个数据库连接实例,从而优化资源使用并避免并发问题。 首先...
MySQL工具类是Java开发中常用的一种抽象,它封装了对MySQL数据库进行操作的基本方法,使得开发者无需关注底层的SQL执行细节,而是通过调用预定义的函数就能完成数据的增删改查等任务。本篇将详细介绍这个工具类以及...
这篇博客的作者提供了一个自封装的JAVA操作MySQL数据库的工具类,这有助于简化数据库的交互过程,提高代码的可读性和可维护性。这里我们将深入探讨这个工具类可能涉及的关键知识点。 1. **JDBC(Java Database ...
MySQL工具类是Java编程中的一种常见设计,它用于简化与MySQL数据库的交互。在Java开发中,使用JDBC(Java Database Connectivity)API进行数据库操作往往需要编写大量的重复代码,如建立连接、执行SQL语句、处理结果...
Django连接MySQL数据库,封装了连接数据库,以及数据库增删该查操作,以及针对DDL操作的提交装饰器
常用的dao层工具类,包括数据库连接池,连接路径。mysql,sqlserver,orecal三大数据库连接池
java连接mysql工具类,连接成功后,可完成对数据的更新、查询操作
以下是对"php连mysql的工具类"这一主题的详细解释。 首先,我们来看一下PHP连接MySQL的基本步骤。在PHP中,可以使用`mysqli`或`PDO_MySQL`扩展来实现这一功能。`mysqli`是MySQL Improved Extension的缩写,提供了...
一个简单的工具类,导入页面后操作数据库更加方便
在Python编程中,MySQL数据库是常用的存储数据的平台,而高效地操作MySQL数据库往往需要借助于自定义的工具类。本压缩包包含了两个Python工具类,分别针对两种不同的使用场景来简化MySQL数据库的操作。 首先,第一...
首先,MySQL工具类通常包含以下核心功能: 1. **连接与断开**:工具类应提供连接到数据库和断开连接的方法。例如,`connect()` 和 `disconnect()` 方法。连接通常需要数据库服务器的地址、用户名、密码和数据库名...
这是jdbc 批处理输入大量数据到mysql的代码,应该会比较有用
SQL Server转换为MySQL工具,用了一下 感觉蛮不错的。 分享上来,同时也以便记录下来以后自用。 工具名称:Mss2sql 来个操作流程: 下载后打开压缩包 运行mss2sql 默认就是Move to MysQL server ...
本"java连接mysql工具包"提供了一种封装好的方法,使得开发者能更方便地执行数据库的增、删、改、查操作。下面将详细讲解这个工具包中的核心知识点。 首先,我们需要了解如何配置数据库连接。在Java中,我们通常...
该工具类实现了数据库连接,以及查询方法。
封装的方法:执行sql(返回/不返回结果)、批量返回结果
C#执行MySQL,方便的共同执行方法。