PHP:Mysqli 基础类
文章来源:http://www.cnblogs.com/hello-tl/p/7592594.html
<?php
/**
* __construct($Mysql_config) 构造函数 $Mysql_config['server']服务器-$Mysql_config['user']用户名-$Mysql_config['pwd']密码-$Mysql_config['name']数据库名字-$Mysql_config['character']字符集
* Mysql_alter_drop($table,$name) 删除一个字段 $table表明 $name字段名
* Mysql_alter_add($table,$name,$type) 添加一个字段 $table表明 $name字段名 $type字段类型
* Mysql_instert($data="",$name="") 添加一条数据 $data数组格式的数据简直跟数据库字段一致 $name表明
* Mysql_insert_id() 取得上一步 INSERT 操作产生的 ID
* Mysql_delete($name="",$where="") 删除数据 $name表明 $where条件
* Mysql_update($name="",$data="",$where="") 修改一条语句 $name 表明 $data数组格式的数据简直跟数据库字段一致 $where条件
* Mysql_query($sql="") 执行一条sql语句 $sql 语句
* Mysql_array($array="") 返回一个二维数组 $array 上一条查询的返回值
* Mysql_json_encode($数组,$fromCode="gb2312",$toCode="utf-8") 数组转换json
* Mysql_rows() 返回相应的条数
* Mysql_rows_result() 释放资源
* function __destruct() 析构函数 自动关闭书库
*/
class TL_Mysqli{
private $conn;
private $result;
/*构造函数*/
public function __construct($Mysql_config){
if(is_array($Mysql_config)){
$this->conn = mysqli_connect(!empty($Mysql_config['server'])?$Mysql_config['server']:'localhost',!empty($Mysql_config['user'])?$Mysql_config['user']:'root',$Mysql_config['pwd']);
mysqli_select_db($this->conn,$Mysql_config['name']);
mysqli_query($this->conn,!empty($Mysql_config['character'])?$Mysql_config['character']:'utf8_general_ci');
}
}
/**
* 删除一个字段
* @param [type] $table [description] 表明
* @param [type] $name [description] 字段名
*/
public function Mysql_alter_drop($table,$name){
$sql = "alter table ".$table." drop column ".$name."";
$this->Mysql_query($sql);
return $sql;
}
/**
* 添加一个字段
* @param [type] $table [description] 表明
* @param [type] $name [description] 字段名
* @param [type] $type [description] 类型/位数
*/
public function Mysql_alter_add($table,$name,$type){
$sql = "alter table ".$table." add ".$name." ".$type." ";
$this->Mysql_query($sql);
return $sql;
}
/**
* 添加一条数据
* @param [type] $data [description] 数据
* @param [type] $name [description] 数据库名字
* @return [type] [description]
*/
public function Mysql_instert($data="",$name=""){
if(is_array($data) && !empty($name)){
$key = "";
$value = "";
foreach ($data as $keys => $values){
$key = $key . "`" . $keys . "`,";
$value = $value . "'" . $values. "',";
}
$key = substr($key,0,-1);
$value = substr($value,0,-1);
$sql = "INSERT INTO ".$name." (".$key.") VALUES (".$value.")";
$this->Mysql_query($sql);
return $sql;
}else{
$sql = "Mysql_instert(不是一个数组,表名称)";
return $sql;
}
}
/*取得上一步 INSERT 操作产生的 ID*/
public function Mysql_insert_id() {
return mysqli_insert_id($this->conn);
}
/**
* 删除数据
* @param [type] $name [description] 表名称
* @param [type] $where [description] 条件
*/
public function Mysql_delete($name="",$where=""){
if(!empty($name) && !empty($where)){
$sql = "delete from ".$name." where ".$where;
$this->Mysql_query($sql);
return $sql;
}else{
$sql = "Mysql_delete(表名称,数据库条件)";
return $sql;
}
}
/**
* 修改一条语句
* @param [type] $name [description] 表名称
* @param [type] $data [description] 数据
* @param [type] $where [description] 条件
*/
public function Mysql_update($name="",$data="",$where=""){
if(is_array($data)){
$datas = "";
foreach ($data as $keys => $values){
$datas = $datas . $keys . "='" . $values ."',";
}
$sql = "update ".$name." set ".substr($datas,0,-1)." where ".$where;
$this->Mysql_query($sql);
return $sql;
}else{
$sql = "Mysql_update(表名称,数据,条件)";
return $sql;
}
}
/**
* 执行一条sql语句
* @param [type] $sql [description] sql语句
* @return [type] [description]
*/
public function Mysql_query($sql=""){
if(!empty($sql)){
$result=mysqli_query($this->conn,$sql);
return $this->result = $result;
}else{
$result = "Mysql_query(mysql语句)";
return $result;
}
}
/**
* 返回一个二维数组
* @param [type] $array [description] 执行过的sql语句
*/
public function Mysql_array($array=""){
if(!empty($array)){
$result=array();
while($row = mysqli_fetch_array($array,MYSQLI_ASSOC)){
$result[] = $row;
}
return $result;
}else{
$_array = array('Mysql_array(执行过的sql语句)');
return $_array;
}
}
/**
* [encodeConvert description] 字符集转换
* @param [type] $str [description] 数组
* @param [type] $fromCode [description] gb2312
* @param [type] $toCode [description] utf-8
* @return [type] [description]
*/
function Mysql_json_encode($str,$fromCode,$toCode){
if(strtoupper($toCode) == strtoupper($fromCode)) return $str;
if(is_string($str)){
if(function_exists('mb_convert_encoding')){
return mb_convert_encoding($str,$toCode,$fromCode);
}else{
return iconv($fromCode,$toCode,$str);
}
}elseif(is_array($str)){
foreach($str as $k=>$v){
$str[$k] = $this->Mysql_json_encode($v,$fromCode,$toCode);
}
return $str;
}
return $str;
} /**
* 返回受相应的条数
*/
public function Mysql_rows(){
return mysqli_affected_rows($this->conn);
}
//释放资源
public function Mysql_rows_result(){
return mysqli_free_result($this->result);
}
//析构函数,自动关闭数据库,垃圾回收机制
public function __destruct() {
if (!empty($this->result)) {
$this->Mysql_rows_result();
}
return mysqli_close($this->conn);
}
}
$Mysql_config = array(
'server' => 'localhost',//规定要连接的服务器。
'user' => 'root',//用户名。默认值是服务器进程所有者的用户名。
'pwd' => '9803164',//密码。默认值是空密码。
'name' => 'test',//数据库名字
'character' => 'utf8_general_ci',//字符集
);
$Mysql = new Mysql($Mysql_config);
文章来源:http://www.cnblogs.com/hello-tl/p/7592594.html
PHP:Mysqli 基础类的更多相关文章
- 比Mysqli操作数据库更简便的方式 。PDO
		
下面来说一下PDO 先画一张图来了解一下 mysqli是针对mysql这个数据库扩展的一个类 PDO是为了能访问更多数据库 如果出现程序需要访问其他数据库的话就可以用PDO来做 PDO数据访问抽象层1 ...
 - 黄聪:C#类似Jquery的html解析类HtmlAgilityPack基础类介绍及运用
		
Html Agility Pack下载地址:http://htmlagilitypack.codeplex.com/ Html Agility Pack 源码中的类大概有28个左右,其实不算一个很复杂 ...
 - PHP 数据库连接工具类(MySQLI函数包装)
		
====================mysql===================== <?php class mysql { private $mysqli; private $resu ...
 - php mysqli mysqli_query() mysqli_real_query()
		
2016年11月26日 15:22:27 星期六 场景: PHP从mysql中读取数据 1. 一次性读取所有数据返给PHP 2. 每次循环只读取一掉记录 数据量小的时候可以使用第一种方法, 数据量很大 ...
 - mysqli操作数据库
		
1 连接数据库:可以使用对象或函数来连接(我们这里主要用mysqli对象,附带着函数连接) //创建mysqli对象(也可以叫做资源句柄) $_mysqli = new mysqli(); //连接数 ...
 - php的mysql\mysqli\PDO(二)mysqli
		
原文链接:http://www.orlion.ga/1147/ mysqli有面向对象风格和面向过程风格,个人感觉还是用面向对象风格比较好(毕竟是面向对象) 1.mysqli::_construct( ...
 - PHP使用mysqli扩展库实现增删改查(面向对象版)
		
mysqli扩展库是mysql扩展库的改进版本,在mysql扩展库的基础上提高了稳定性和效率,mysqli扩展库有两套东西,一套就是面向过程的mysqli另一套是面向对象的mysqli.操作方式大体和 ...
 - 解决 Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in
		
转载 php 5个版本,5.2.5.3.5.4.5.5,怕跟不上时代,新的服务器直接上5.5,但是程序出现如下错误:Deprecated: mysql_connect(): The mysql ext ...
 - PHP mysql与mysqli事务详解
		
官方对PHP连接到MySQL数据库服务器的三种主要的API简介如下: http://php.net/manual/zh/mysqli.overview.php PHP mysql与mysqli事务详解 ...
 
随机推荐
- python之对堆栈、队列处理操作(转载+个人看法)
			
参考链接:https://blog.csdn.net/u010786109/article/details/40649827 python实现堆栈操作 堆栈是一个后进先出的数据结构,其工作方式就像一堆 ...
 - Spring + MyBaits 日志初始化两遍的问题
			
偶然发现一个问题,记录一下以备查询. 问题:系统启动时发现日志初始化了两次 14:28:04.798 [main] DEBUG org.apache.ibatis.logging.LogFactory ...
 - DP + 概率 + 贪心 UVA 1456 Cellular Network
			
题目传送门 题意:(摘自LRJ<训练指南>) 手机在蜂窝网络中的定位是一个基本问题.假设蜂窝网络已经得知手机处于c1, c2,…,cn这些区域中的一个,最简单的方法是同时在这些区域中寻找手 ...
 - 理解http浏览器的协商缓存和强制缓存
			
阅读目录 一:浏览器缓存的作用是什么? 二:理解协商缓存 1 Last-Modified/if-Modify-Since 2 ETag/if-None-Match 三:理解强制缓存 回到顶部 一:浏览 ...
 - 使用ImageMagick处理图片后导致图片变大的问题
			
最新在使用ImageMagick处理图片时,发现有时经过处理的图片变大的问题. 例如原图为27K,经处理后的图片会变为77K. 先看测试代码: // imgtest.cpp : 定义控制台应用程序的入 ...
 - Spring @Resource、@Autowired、@Qualifier区别
			
@Resource默认是按照名称来装配注入的,只有当找不到与名称匹配的bean才会按照类型来装配注入: @Autowired默认是按照类型装配注入的,如果想按照名称来转配注入,则需要结合@Qualif ...
 - AJPFX关于File类复习
			
file是一个路径,分为相对路径(eclipse)和绝对路径:1.构造方法有:File(String pathname ),File(String parent ,String child),File ...
 - AJPFX关于代码块的总结
			
代码块: { 执行语句; }(1) 当出现在局部位置时, 为局部代码块. 局部位置: 如语句块中, 函数中, 构造代码块中, 静 ...
 - Elasticsearch--集群管理_再平衡&预热
			
目录 控制集群的再平衡 再平衡 集群的就绪 集群再平衡设置 控制再平衡何时开始 控制同时在节点移动的分片数量 控制单个节点上同时初始化的分片数量 控制单个节点上同时初始化的主分片数量 控制分配的分片类 ...
 - Python学习 Day 2-数据类型和变量
			
数据类型和变量 在Python中,能够直接处理的数据类型有以下几种: 整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080, ...