<?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操作封装的更多相关文章

  1. node封装mysql操作

    前言 node是基于异步的,因此在进行数据库查询操作的通常是通过回调来操作查询结果.但是在有了es7的async/await,基本不再需要回调了,所以本篇是基于async/await对mysql进行一 ...

  2. 进一步封装poco下的mysql操作

    为方便程序对mysql操作,我对poco的mysql进行了再次封装,主要是针对自己应用需要的部分. 开发工具:netbean 系统环境:centos7 poco版本: poco-1.9.0-all 主 ...

  3. php--->单例模式封装mysql操作类

    php 单例模式封装mysql操作类 单例模式的必要条件(三私一公) 私有的成员属性--防止类外引入这个存放对象的属性 私有的构造方法--为了防止在类外使用new关键字实例化对象 私有的克隆方法--为 ...

  4. 常用MySQL操作(一)

    第二十四次课 常用MySQL操作(一) 目录 一.设置更改root密码 二.连接mysql 三.mysql常用命令 四.mysql用户管理 五.常用sql语句 六.mysql数据库备份恢复 七.扩展 ...

  5. python中的mysql操作

    一. 数据库在自动化测试中的应用 存测试数据 有的时候大批量的数据,我们需要存到数据库中,在测试的时候才能用到,测试的时候就从数据库中读取出来.这点是非常重要的! 存测试结果 二. python中的数 ...

  6. Angular4+NodeJs+MySQL 入门-02 MySql操作类

    NodeJs操作MySQL类 此类封装了几个常用的方法:插入,更新,删除,查询,开启事务,事务提交,事务回滚等操作.有一这个类,操作MYSQL就方便多了. 批处理,存储过程等方法还没有添加,因为觉得目 ...

  7. Mysql操作初级

    Mysql操作初级 本节内容 数据库概述 数据库安装 数据库操作 数据表操作 表内容操作 1.数据库概述 数据库管理系统叫做DBMS 1.什么是数据库 ? 答:数据的仓库,如:在ATM的示例中我们创建 ...

  8. mysql数据库封装

    <?php /** * name: sql操作封装,可扩展 . * User: 张云山 * Date: 2016/9/4 * Time: 22:02 */ //php文件编码设置header(' ...

  9. python学习道路(day12note)(mysql操作,python链接mysql,redis)

    1,针对mysql操作 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); 设置密码 update user set password ...

随机推荐

  1. win7 x64 eclipse_kepler下编译 hadoop1.1.2-celipse-plugin

    1.编译前准备 a)       下载和解压hadoop-1.1.2.tar.gz b)       下载并配置ant 2.配置 a)       进入hadoop-1.1.2\src\contrib ...

  2. C#&nbsp;Andriod&nbsp;AES&nbsp;加密算法

    android端: package com.kingmed.http; import java.io.UnsupportedEncodingException; import javax.crypto ...

  3. error: field has incomplete type

    在头文件使用某一自定义的类的指针或引用时,只需要前置声明该类即可,然而如果该类中有静态成员时,必须包含该类的头文件,而不是使用前置声明.

  4. CodeForces 287B Pipeline (水题)

    B. Pipeline time limit per test 2 seconds memory limit per test 256 megabytes input standard input o ...

  5. 30.构建单机多容器环境-故障&31.构建单机多容器环境

    主要的命令是docker run .主要是用它来构建容器 关机打开序列化 31.构建单机多容器环境 构建自己单机的多容器 加入我们做一个应用程序 -d是在后台运行,不会阻塞你的命令行 之前有一个空的a ...

  6. 异步和多线程,委托异步调用,Thread,ThreadPool,Task,Parallel,CancellationTokenSource

    1 进程-线程-多线程,同步和异步2 异步使用和回调3 异步参数4 异步等待5 异步返回值 5 多线程的特点:不卡主线程.速度快.无序性7 thread:线程等待,回调,前台线程/后台线程, 8 th ...

  7. Oracle判断某个表是否存在的方法

    在SQL中,我们常常使用if exists来判断一个表或某个对象是否存在,例如:  IF EXISTS (SELECT * FROM sys.tables WHERE name = 'CODE_BMD ...

  8. Keras输出每一层网络大小

    示例代码: model = Model(inputs=self.inpt, outputs=self.net) model.compile(loss='categorical_crossentropy ...

  9. Unity开发Android应用优化指南(上)

    http://forum.china.unity3d.com/thread-27037-1-2.html 如今越来越多的开发者使用Unity开发Android及iOS项目,开发过程中难免会遇到一些性能 ...

  10. python爬虫——web前端基础(2)

    图像标记------->>>> <img>图像标记,用来在网页中显示图像.使用方法为:<img src="路径/文件名.图片格式"  wi ...