mysql操作封装
<?php
//连接数据库
function connect(){
$link = mysql_connect(DB_HOST,DB_USER,DB_PWD)or die("数据库连接失败Error:".mysql_errno().":".mysql_error());//mysql_errno()指mysql数据操作的错误信息的数字编码,
//mysql_error()指mysql数据操作的错误信息
mysql_set_charset(DB_CHARSET);
mysql_select_db(DB_DBNAME)or die("指定数据库打开失败");
return $link;
}
//记录插入操作
function insert($table,$array){
$keys = join(",",array_keys($array));//array_keys()返回数组中的键名,返回值是一个包含所有键名的数组
$values = "'".join("','",array_values($array))."'";//array_values()返回数组中的键值,返回值是一个包含所有键值的索引数组
$sql = "insert{$table}($keys)values($values)";
mysql_query($sql);
return mysql_insert_id();//mysql_insert_id()返回上一步insert操作产生的id
}
//记录更新操作
function update($table,$array,$where=null){
foreach($array as $key=>$val){
if($str==null){
$sep="";
}else{
$sep=",";
}
$str.=$sep.$key."='".$val."'";
}
$sql="update {$table} set {$str} ".($where==null?null:"where".$where);
mysql_query($sql);
return mysql_affected_rows();//mysql_affected_rows()返回上一次mysql操作受影响的记录条数
}
//记录删除操作
function delete($table,$where=null){
$where=$where==null?null:" where ".$where;
$sql = "delete from {$table} {$where}";
mysql_query($sql);
return mysql_affected_rows();
}
//查询单条记录
function fetchOne($sql,$result_type=MYSQL_ASSOC){
$result=mysql_query($sql);
$row = mysql_fetch_array($result,$result_type);//mysql_fetch_array()从结果集中取得一行作为关联数组,或数字数组,MYSQL_ASSOC是关联数组,MYSQL_NUM是索引数组,MYSQL_BOTH都包括
return $row;
}
//查询多条记录
function fetchAll($sql,$result_type=MYSQL_ASSOC){
$result=mysql_query($sql);
while(@$row=mysql_fetch_array($result,$result_type)){
$rows[]=$row;
}
return $rows;
}
//得到结果集中记录的条数
function getResultNum($sql){
$result=mysql_query($sql);
return mysql_num_rows($result);//mysql_num_rows()取得结果集中行的数目
}
mysql操作封装的更多相关文章
- node封装mysql操作
前言 node是基于异步的,因此在进行数据库查询操作的通常是通过回调来操作查询结果.但是在有了es7的async/await,基本不再需要回调了,所以本篇是基于async/await对mysql进行一 ...
- 进一步封装poco下的mysql操作
为方便程序对mysql操作,我对poco的mysql进行了再次封装,主要是针对自己应用需要的部分. 开发工具:netbean 系统环境:centos7 poco版本: poco-1.9.0-all 主 ...
- php--->单例模式封装mysql操作类
php 单例模式封装mysql操作类 单例模式的必要条件(三私一公) 私有的成员属性--防止类外引入这个存放对象的属性 私有的构造方法--为了防止在类外使用new关键字实例化对象 私有的克隆方法--为 ...
- 常用MySQL操作(一)
第二十四次课 常用MySQL操作(一) 目录 一.设置更改root密码 二.连接mysql 三.mysql常用命令 四.mysql用户管理 五.常用sql语句 六.mysql数据库备份恢复 七.扩展 ...
- python中的mysql操作
一. 数据库在自动化测试中的应用 存测试数据 有的时候大批量的数据,我们需要存到数据库中,在测试的时候才能用到,测试的时候就从数据库中读取出来.这点是非常重要的! 存测试结果 二. python中的数 ...
- Angular4+NodeJs+MySQL 入门-02 MySql操作类
NodeJs操作MySQL类 此类封装了几个常用的方法:插入,更新,删除,查询,开启事务,事务提交,事务回滚等操作.有一这个类,操作MYSQL就方便多了. 批处理,存储过程等方法还没有添加,因为觉得目 ...
- Mysql操作初级
Mysql操作初级 本节内容 数据库概述 数据库安装 数据库操作 数据表操作 表内容操作 1.数据库概述 数据库管理系统叫做DBMS 1.什么是数据库 ? 答:数据的仓库,如:在ATM的示例中我们创建 ...
- mysql数据库封装
<?php /** * name: sql操作封装,可扩展 . * User: 张云山 * Date: 2016/9/4 * Time: 22:02 */ //php文件编码设置header(' ...
- python学习道路(day12note)(mysql操作,python链接mysql,redis)
1,针对mysql操作 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); 设置密码 update user set password ...
随机推荐
- POJ1287(最小生成树入门题)
Networking Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 7753 Accepted: 4247 Descri ...
- bzoj4453
单调栈+set+后缀数组 一道奇妙的题 这道题如果对于每个询问$r$是固定的,那么就很简单了,可惜并不是 由于r会变化,那么对于两个子串$[i...r],[j...r]$,他们的大小关系随着r的变化也 ...
- 一次ssh被植入后门的经历及解决方案
昨天发现服务器上面很多程序被挂马了,跟开发一起处理了挂马文件,今早发现游戏后台又打不开了,上服务器发现后台程序的入口文件都被删了,恢复了index.php.admin.php后才能正常访问,晚上谁也没 ...
- VC代码生成里面的/MT /MTd /MD /MDd的意思
VC代码生成里面的/MT /MTd /MD /MDd的意思. 意思上已经很明白了.但是往往很多人弄不清楚到底怎么选择. /MT是 "multithread, static version ” ...
- 微信小程序开发之带搜索记录的搜索框
实现功能:点击搜索框,有搜索记录时以下拉菜单显示,点击下拉子菜单,将数据赋值到搜索框,点击搜索图标搜索,支持清空历史记录,可手动输入和清空查询关键字, UI: wxml: <!--查询历史记录数 ...
- ARP欺骗(完全版)
在讲ARP欺骗之前先讲讲什么是ARP以及ARP欺骗的原理吧. 一. 什么是ARP? arp英文全称: address resolution protocol 中文:地址解析协议 它的作用:是根 ...
- A Beginner's Guide to HTTP and REST
http://code.tutsplus.com/tutorials/a-beginners-guide-to-http-and-rest--net-16340 Hypertext Transfer ...
- HN669打包工具--环境准备
1.安装JDK 这个百度,Google一大堆,可以自行参考.仅仅注意,不要安装错了,根据自己系统是32位还是64位,安装MAC下的JDK版本.系统32/64位查询命令:uname -a下载地址安装指导 ...
- js.alert(重写)
function dialogFn(Msg, btnOkCallBack, btnCancelCallBack) { $("body").append('<div id=&q ...
- opengl学习资料
opengl新手指引 https://www.codeproject.com/articles/771225/learning-modern-opengl Learning Modern 3D Gra ...