PHP+mysql常用类库
<?php
/**
* @title: Ekcms mysql类库
* @version: 1.0
* @author: perry <perry@1kyou.com>
* @published: 2013-10-2
*/ //数据库连接类
class mysql
{
var $ConnStr; function __construct(){
$this->connect();
$this->selectdb(); } //连接数据库服务器
function connect(){ $this->ConnStr=(DB_PCONNECT)?@mysql_pconnect(DB_HOST.":".DB_PORT,DB_USER,DB_PWS):@mysql_connect(DB_HOST.":".DB_PORT,DB_USER,DB_PWS); if(!$this->ConnStr){
echo '数据库连接错误'.mysql_error();
}
} //连接数据库
function selectdb(){
if(!@mysql_select_db(DB_NAME,$this->ConnStr)){
echo '数据库'.DB_NAME.'不存在';
}
@mysql_unbuffered_query("set names ".DB_CHARSET);
} //mysql执行语句
function query($sql){
$sql = str_replace("#@__", PREX, $sql);
if(!$res=@mysql_query($sql,$this->ConnStr)){
echo '操作数据库失败'.mysql_error()."<br>sql:{$sql}";
}
return $res;
} //sql报错信息
function get_error(){
$err=mysql_error($this->ConnStr);
return $err;
} //取出数字作为数组索引的数据集合
function fetch_array($sql){
$result=$this->query($sql);
$array = array();
while($rows=@mysql_fetch_array($result)){
$array[]=$rows;
}
mysql_free_result($result);
return $array;
} function fetch_rows($sql){
$query = $this->query($sql);
return @mysql_fetch_array($query);
} //读取单条数据
function get_one($sql){
$result=$this->query($sql);
return @mysql_fetch_assoc($result);
} //取出字段作为数组索引的数据集合
function fetch_asc($sql){
$result=$this->query($sql);
$arr=array();
while($rows=@mysql_fetch_assoc($result)){
$arr[]=$rows;
}
mysql_free_result($result);
return $arr;
} //最后一次插入的id
function insert_id(){
return mysql_insert_id($this->ConnStr);
} //返回数据数目
function num_rows($sql){
$result=$this->query($sql);
$num=@mysql_num_rows($result);
mysql_free_result($result);
return $num;
} //取得结果集中字段的数目
function num_fields($query){
return mysql_num_fields($query);
} //返回字段名数组
function fetch_field($sql){
$result=$this->query($sql);
$num=$this->num_fields($result);
for($i=0;$i<$num;$i++){
$arr[]=mysql_field_name($result,$i);
}
return $arr;
} //获得版本信息
function server_info(){
return mysql_get_server_info($this->ConnStr);
} //查询数据条数
function db_num($table,$where){
$num=$this->num_rows("select * from ".PREX.$table." where $where");
return $num;
} //添加信息进数据表
function db_insert($table, $field) {
$SQL = "INSERT INTO `".PREX.$table."` SET $field";
$this->query($SQL);
return $this->insert_id();
} //更新数据表信息
function db_update($table,$field,$where){
$SQL = "UPDATE `".PREX.$table."` SET $field WHERE $where";
return $this->query($SQL);
} //删除数据信息
function db_delete($table, $where) {
$SQL = "DELETE FROM `".PREX.$table."` WHERE $where";
return $this->query($SQL);
}
//执行事务函数
function query_work($arr){
$this->query("SET AUTOCOMMIT=0");
$this->query("BEGIN");
if (is_array($arr)){
foreach ($arr as $k=>$v){
if(!$this->query($v)){
$this->query("ROOLBACK");
}
}
return $this->query("COMMIT");//执行事务
}
return '';
}
//手动关闭数据库
function close(){
@mysql_close($this->ConnStr);
}
/*
*
*数据库操作
*创建、修改、删除数据表
*添加、修改、删除字段
*
*/ //创建数据表
function create_table($table,$field){
$sql="create table ".PREX.$table." (".$field.") ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci";
return $this->query($sql);
} //添加字段
function add_field($table,$field){
$sql="alter table ".PREX.$table." add ".$field." CHARACTER SET utf8 COLLATE utf8_general_ci NULL";
return $this->query($sql);
} //修改字段
function edit_field($table,$field){
$sql="alter table ".PREX.$table." CHANGE ".$field." CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL";
return $this->query($sql);
} //删除字段
function del_field($table,$field){
$sql="alter table ".PREX.$table." drop column ".$field;
return $this->query($sql);
} //显示数据表
function show_table(){
$rel=$this->fetch_array('show tables');
foreach($rel as $key=>$value){
$arr[]=$value[0];
}
return $arr;
} //修改数据表名,$table-改前表名 $table_now-改后表名
function rename_table($table,$table_now){
$sql="RENAME TABLE ".$table." TO ".$table_now;
return $this->query($sql);
} //删除数据表
function del_table($table){
$sql="drop table ".PREX.$table;
return $this->query($sql);
}
//析构函数关闭数据库
function __destruct(){
@mysql_close($this->ConnStr);
}
}
?>
PHP+mysql常用类库的更多相关文章
- Mysql 常用 SQL 语句集锦
Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...
- MySQL常用命令和常见问题
MySQL常用命令和常见问题 --创建数据库并设置字符集 create database wip default character set utf8 collate utf8_general_ci; ...
- Google的Java常用类库 Guava资料
java的人应该都知道Apache commons的java常用类库吧,这个Guava和commons一样,封装出一套比jdk本身提供的常用类库强大.既然有了这个这么强大的类库,我们就没必要重复造轮子 ...
- mysql常用基本操作
mysql常用操作 查看都有哪些库 show databases; 查看某个库的表 use 库名; show tables; 查看表的字段 desc 表名; 当前是哪个用户 select user() ...
- MySQL 常用的sql语句小结(待续)
mysql 常用的sql语句 1.查看数据库各个表中的记录数 USE information_schema; SELECT table_name,table_rows FROM tables WHER ...
- mysql常用操作语句
mysql常用操作语句 1.mysql -u root -p 2.mysql -h localhost -u root -p database_name 2.列出数据库: 1.show datab ...
- Mysql 常用 SQL 语句集锦 转载(https://gold.xitu.io/post/584e7b298d6d81005456eb53)
Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...
- MySQL数据库3 - MySQL常用数据类型
一. MySql常用数据类型 数据类型:整数(tinyint smailint int bigint) 定点数 decimal(p,s) ------ 小数点位置固定的 ---> 数 ...
- MYSQL常用内置函数详解说明
函数中可以将字段名当作变量来用,变量的值就是该列对应的所有值:在整理98在线字典数据时(http://zidian.98zw.com/),有这要一个需求,想从多音字duoyinzi字段值提取第一个拼音 ...
随机推荐
- php wamp 配置虚拟主机
apeach 配置: 还有是:E:\wamp\bin\apache\Apache2.4.4\conf 目录下有个 http.conf文件中,有一个需要取消注释, # Virtual hostsInc ...
- 转 。。。。一个不规则的按钮 虽然已经不适用于cocos2dx3.0以上版本 but思路就应该是这个样子滴
本篇文章主要讲一下怎么做一个不规则的按钮,比如如下图的八卦,点击绿色和点击红色部分,需要执行不同的事件
- MVC3远程验证
public class StudentModel { [Display(Name="学生编号")] public int StuId { set; get; } [Require ...
- THE SENSE OF BEAUTY
#include<stdio.h> int main() { ][] = { " ,.:;j", " ,: i. .,:;ff", " : ...
- html textarea 获取换行
1.需求: 获取textarea中的换行符,存到数据库中,并在取出时显示出换行操作 2.实践 2.1 发现可以取到换行符 "/n" ,并且可以存储到MySQL数据库中,并不需要特殊 ...
- Mysql ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA
ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declar ...
- textarea还剩余字数统计
<!DOCTYPE html><html><head> <meta charset="utf-8" /> <title> ...
- strcpy, memcpy, memset函数
一. strcpy函数 原型声明:char *strcpy(char* dest, const char *src); 头文件:#include <string.h> 和 #inclu ...
- fibonacci 斐波那契数列
1.小兔子繁殖问题 (有该问题的详细来由介绍) 2.台阶问题 题目:一个人上台阶可以一次上一个或者两个,问这个人上n层的台阶,一共有多少种走法. 递归的思路设计模型: i(台阶阶数) ...
- 20160816_Redis一些资料
1.官网 http://redis.io/ 2.一个教程 http://www.yiibai.com/redis/redis_quick_guide.html 3.快速开始指南(Quick Start ...