微型php框架 include/mysql.class.php

<?php

defined(‘ACC‘)||exit(‘Access Denied‘);

// 封装mysql操作类,包括连接功能,及查询功能.

class mysql extends absdb{

protected static $ins = null;

protected $host;  // 主机名

protected $user;  // 用户名

protected $passwd; // 密码

protected $db;      // 数据库名

protected $port;    // 端口

protected $conn = null;

// 在内部操作,获得一个对象

public static function getIns() {

if(self::$ins === null) {

self::$ins = new self();

}

$conf = conf::getIns();

self::$ins->host = $conf->host;

self::$ins->user = $conf->user;

self::$ins->passwd = $conf->pwd;

self::$ins->db = $conf->db;

self::$ins->port = $conf->port;

self::$ins->connect();

self::$ins->select_db();

self::$ins->setChar();

return self::$ins;

}

// 不让外部做new操作,

protected function __construct() {

}

// 连接数据库

public function connect() {

$this->conn = @mysql_connect($this->host,$this->user,$this->passwd,$this->port);

if(!$this->conn) {

$error = new Exception(‘数据库连不上‘,9);

throw $error;

}

}

// 发送sql查询

public function query($sql) {

$rs = mysql_query($sql,$this->conn);

if(!$rs) {

log::write($sql);

}

return $rs;

}

// 封装一个getAll方法

// 参数:$sql

// 返回: array,false

public function getAll($sql) {

$rs = $this->query($sql);

if(!$rs) {

return false;

}

$list = array();

while($row = mysql_fetch_assoc($rs)) {

$list[] = $row;

}

return $list;

}

// 封装一个getRow方法

// 参数:$sql

// 返回: array,false

public function getRow($sql) {

$rs = $this->query($sql);

if(!$rs) {

return false;

}

return mysql_fetch_assoc($rs);

}

// 封装一个getOne方法,

// 参数: $sql

// 返回: int,str(单一的值)

public function getOne($sql) {

$rs = $this->query($sql);

if(!$rs) {

return false;

}

$tmp = mysql_fetch_row($rs);

return $tmp[0];

}

// 选库函数

public function select_db() {

$sql = ‘use ‘ . $this->db;

return $this->query($sql);

}

// 设置字符集的函数

public function setChar() {

$sql = ‘set names utf8‘;

return $this->query($sql);

}

// 自动生成insert语句,update语句并执行

public function autoExecute($data,$table,$act=‘insert‘,$where=‘‘) {

if($act == ‘insert‘) {

$sql = ‘insert into ‘ . $table . ‘ (‘;

$sql .= implode(‘,‘,(array_keys($data)));

$sql .= ‘) values (\‘‘;

$sql .= implode("‘,‘",array_values($data));

$sql .= "‘)";

} else if($act == ‘update‘) {

if(!trim($where)) {

return false;

}

$sql = ‘update ‘ . $table . ‘ set ‘;

foreach($data as $k=>$v) {

$sql .= $k;

$sql .= ‘=‘;

$sql .= "‘".$v."‘,";

}

$sql = substr($sql,0,-1);

$sql .= ‘ where ‘;

$sql .= $where;

} else {

return false;

}

//return $sql;

return $this->query($sql);

}

}

/*

$db = mysql::getIns(‘localhost‘,‘root‘,‘111111‘,‘php0620‘);

print_r($db);

*/

微型php框架 include/mysql.class.php

时间: 2024-10-17 15:57:11

微型php框架 include/mysql.class.php的相关文章

微型php框架 include/init.php

<?php defined('ACC')||exit('Access Denied'); // 初始化脚本,专门负责环境的侦测与配置 // 0: 先探测自身所在的位置 /* 在win下,路径 D:\www\info 没有问题 D:/www/info 没有问题 在linux 路径 /var/www/info ,正斜线 因此:统一转成正斜线 ,用linux的格式 */ // 检测根目录,并定义成常量 define('ROOT',str_replace('include/init.php','',st

微型php框架 include/log.class.php

//错误操作类 <?php class log { public static function write($err) { $fh = fopen(ROOT . 'data/log.txt','a'); // 追加方式打开,允许从后面追加内容 $err = date('Y-m-d H:i:s',time()) . "\r\n" . $err; fwrite($fh,$err); fclose($fh); } } 微型php框架 include/log.class.php

微型php框架 include/config.php

配置文件 <?php defined('ACC')||exit('Access Denied'); $cfg = array(); $cfg['host'] = 'localhost'; $cfg['user'] = 'root'; $cfg['pwd'] = '111111'; $cfg['db'] = 'php0620'; $cfg['port'] = '3306'; $cfg['charset'] = 'utf8'; $cfg['updir'] = 'upload/'; 微型php框架 i

微型php框架 include/conf.class.php

<?php defined('ACC')||exit('Access Denied'); // 配置文件读取类 class conf { protected static $ins = null; protected $cfg = array('db'=>'java0620'); public static function getIns() { if(self::$ins === null) { self::$ins = new self(); } return self::$ins; }

微型php框架 include/absdb.class.php

<?php // 一个抽象的数据库操作类 abstract class absdb { /* 参数 String $sql sql语句 返回 数组 */ abstract public function getAll($sql); /* 参数 String $sql sql语句 返回 一维数组 */ abstract public function getRow($sql); /* 参数 String $sql sql语句 返回 单个值 */ abstract public function g

微型php框架 model/Model.php

<?php defined('ACC')||exit('Access Denied'); class Model { protected $db = null; public function __construct() { try { $this->db = mysql::getIns(); } catch(Exception $e) { // $e就是前文中 throw出来的 $error (Exception的实例) // $e对象有一些方法和属性,能准确判断出问题的行. $err =

Weed3 for java 新的微型ORM框架

Weed3,微型ORM框架(支持:java sql,xml sql,annotation sql:存储过程:事务:缓存:监听:等...) 05年时开发了第一代: 08年时开发了第二代,那时候进入互联网公司,对性能有了全新的认识: 14年时开发了第三代.因为不喜欢滥用反射,不喜欢有很多配置,所以一直在执着的没放弃. 前两代,都是在.net开发的:第三代,重点放在了java上.应该算是个功能全面且最小的ORM框架,无其它依赖,仅0.1mb.对外的接口也不多,主要由DbContext上的四个接口发起所

视频教程--ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库

说好的给园子里的朋友们录制与<ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库> 这篇博客相对应的视频,由于一个月一来没有时间录制,今天我兑现了给朋友们的承诺.. 本次视频教程的目录为 视频.代码.资料,其中视频有4段,资料是我收集的相关资料.. 视频下载地址:http://pan.baidu.com/s/1c05sysC 希望大家多多支持... 郝喜路 2014年6月8日 11:11:02   http://haoxilu.cn

微型php框架 library/image.class.php

<?php // 验证码类 class image { protected $im; protected $img_width; protected $img_height; protected $img_type; // 生成随机数 static public function randStr($n = 4) { if($n <= 0) { return ''; } $str = 'abcdefghijkmnpqrstuvwxyzABCDEFGHIJKMNPQRSTUVWXYZ0123456