1、插入数据

$db->query("INSERT INTO ".get_table($mid)." ($sqlk) VALUES ($sqlv)");
 $itemid = $db->insert_id();

2、获取一条数据

$r = $db->get_one("SELECT COUNT(*) AS num FROM {$table} WHERE $condition order by statid desc");
  if($r['num']>0){
   exit('{"status":"0","msg":"重复"}'); 
  }else{
  
  }

函数在include/db_mysql.class.php 中定义

function query($sql, $type = '', $ttl = 0, $save_id = false) {
  #echo $sql;echo '<br/>';
  $select = strtoupper(substr($sql, 0, 7)) == 'SELECT ' ? 1 : 0;
  if($this->ttl > 0 && $type == 'CACHE' && $select) {
   $this->cursor = 0;
   $this->cache_id = md5($sql);
   if($this->cids) $this->cache_ids[] = $this->cache_id;
   $this->result = array();
   $this->cache_ttl = ($ttl ? $ttl : $this->ttl) + mt_rand(-10, 30);
   return $this->_query($sql);
  }
  if(!$save_id) $this->cache_id = 0;
  $func = $type == 'UNBUFFERED' ? 'mysql_unbuffered_query' : 'mysql_query';
  if(!($query = $func($sql, $this->connid))) $this->halt('MySQL Query Error', $sql);
  $this->querynum++;
  return $query;
 }

function get_one($sql, $type = '', $ttl = 0) {
  $sql = str_replace(array('select ', ' limit '), array('SELECT ', ' LIMIT '), $sql);
  if(strpos($sql, 'SELECT ') !== false && strpos($sql, ' LIMIT ') === false) $sql .= ' LIMIT 0,1';
  $query = $this->query($sql, $type, $ttl);
  $r = $this->fetch_array($query);
  $this->free_result($query);
  return $r;
 }

function count($table, $condition = '', $ttl = 0) {
  global $DT_TIME;
  $sql = 'SELECT COUNT(*) as amount FROM '.$table;
  if($condition) $sql .= ' WHERE '.$condition;
  $r = $this->get_one($sql, $ttl ? 'CACHE' : '', $ttl);
  return $r ? $r['amount'] : 0;
 }

function fetch_array($query, $result_type = MYSQL_ASSOC) {
  return $this->cache_id ? $this->_fetch_array($query) : mysql_fetch_array($query, $result_type);
 }

function affected_rows() {
  return mysql_affected_rows($this->connid);
 }

function num_rows($query) {
  return mysql_num_rows($query);
 }

function num_fields($query) {
  return mysql_num_fields($query);
 }

function result($query, $row) {
  return @mysql_result($query, $row);
 }

function free_result($query) {
  if(is_resource($query) && get_resource_type($query) === 'mysql result') {
   return @mysql_free_result($query);
  }
 }

function insert_id() {
  return mysql_insert_id($this->connid);
 }

function fetch_row($query) {
  return mysql_fetch_row($query);
 }

destoon 数据库操作的更多相关文章

  1. 如何在高并发环境下设计出无锁的数据库操作(Java版本)

    一个在线2k的游戏,每秒钟并发都吓死人.传统的hibernate直接插库基本上是不可行的.我就一步步推导出一个无锁的数据库操作. 1. 并发中如何无锁. 一个很简单的思路,把并发转化成为单线程.Jav ...

  2. 【知识必备】ezSQL,最好用的数据库操作类,让php操作sql更简单~

    最近用php做了点小东东,用上了ezSQL,感觉真的很ez,所以拿来跟大家分享一下~ ezSQL是一个非常好用的PHP数据库操作类.著名的开源博客WordPress的数据库操作就使用了ezSQL的My ...

  3. MySQL 系列(二) 你不知道的数据库操作

    第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 本章内容: 查看\创建\使用\删除 数据库 用户管理及授权实战 局域网 ...

  4. ABP创建数据库操作步骤

    1 ABP创建数据库操作步骤 1.1 SimpleTaskSystem.Web项目中的Web.config文件修改数据库配置. <add name="Default" pro ...

  5. 【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  6. django数据库操作和中间件

    数据库配置 django的数据库相关表配置在models.py文件中,数据库的连接相关信息配置在settings.py中 models.py相关相关参数配置 from django.db import ...

  7. [Android Pro] 完美Android Cursor使用例子(Android数据库操作)

    reference to : http://www.ablanxue.com/prone_10575_1.html 完美 Android Cursor使用例子(Android数据库操作),Androi ...

  8. phpcms v9 中的数据库操作函数

    1.查询 $this->select($where = '', $data = '*', $limit = '', $order = '', $group = '', $key='')   返回 ...

  9. Android打造属于自己的数据库操作类。

    1.概述 开发Android的同学都知道sdk已经为我们提供了一个SQLiteOpenHelper类来创建和管理SQLite数据库,通过写一个子类去继承它,就可以方便的创建.管理数据库.但是当我们需要 ...

随机推荐

  1. 第八届蓝桥杯大赛个人赛决赛(软件类)真题C++

    哥德巴赫分解 哥德巴赫猜想认为:不小于4的偶数都可以表示为两个素数的和. 你不需要去证明这个定理,但可以通过计算机对有限数量的偶数进行分解,验证是否可行. 实际上,一般一个偶数会有多种不同的分解方案, ...

  2. 解决git从remote clone后所有文件都改变的问题

    遇到2次这种情况了,git从remote clone项目代码后发现所有文件都要改变,因为权限改变了,可以通过git来设置忽略权限变化 git config --global core.fileMode ...

  3. Linux下无图形界面安装Matlab

    1 下载R2015b_glnxa64.iso和破解文件Matlab+2015b+Linux64+Crack 百度网盘可以直接搜索资源.推荐一个可以多线程下载百度网盘超大文件的工具Aria2,均速1.3 ...

  4. SPRING代理模式

    1.静态代理 主题对象:Student public interface Student { public String add(); } 目标对象:RealStudent public class ...

  5. jQuery dataTable 操作个人使用总结

    用过之后总会忘,不停的查,不停的忘.这里记录一下,仅为个人简单总结,具体使用方法请看官方API文档. 1. 获取表中行数.  var rowNum = $(tableSelector).DataTab ...

  6. 【持续更新】MyBatis相关

    MyBatis开发结构 #与$的区别

  7. 9、调整数组顺序使奇数位于偶数前面------------>剑指offer系列

    题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 思路 首先寻找第一个 ...

  8. zblog忘记后台密码怎么办 官方解决方案

    刚装的zblog还没开始研究,结果发现密码弄错了进不去后台,也是醉了 为节省时间,直接用官方方案,就是一个无密码进后台的文件.下载后把文件上传至网站根目录,然后直接访问后台修改密码 zblog密码找回 ...

  9. 一键部署WordPress开源内容管理系统

    https://market.azure.cn/Vhd/Show?vhdId=9857&version=10889 产品详情 产品介绍WordPress是一款个人博客系统,并逐步演化成一款内容 ...

  10. python+selenium之中类/函数/模块的简单介绍和方法调用

    # coding=utf-8 class ClassA (object): string1 = "这是一个字符串." def instancefunc(self): print ( ...