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. Codeforces 161A(贪心)

    要点 我在想贪心是对的那要二分图何用,自己的想法是:二分图最开始并不知道怎么匹配最好所以就按输入顺序连了,之后慢慢修改:而这道匹配也成对匹配但从一开始你就可以知道选哪个最划算,就是贪心地选最小的.不必 ...

  2. 随机算法瞎练BZOJ3237&3563&3569三倍经验题

    随机方法真的好骚啊O(∩_∩)O~ 最早的时候miaom提出一个奇怪的东西: 判断一个数列中是否有0/1/2个数出现奇数次 对每个数赋一个随机权值,异或乱搞,对于判2的情况用一个(可能类似线性基的)方 ...

  3. Net Core 2.0 Redis

    Net Core 2.0 Redis配置.封装帮助类RedisHelper及使用实例 https://www.cnblogs.com/oorz/p/9052498.html 本文目录 摘要 Redis ...

  4. jeesite框架搭建中mysql数据库导入问题

    在进行mysql8.0的安装配置时,可以说是道路坎坷,之前介绍了如何安装配置mysql8.0,虽然mysql在正常情况下是很容易安装的,但是如果遇到特殊情况的时候那就需要特殊的处理. 这次我遇到的问题 ...

  5. PHP开发环境及搭建

    自学PHP中,很多东西都不熟悉,在此做个记录,方便以后再次搭建PHP环境.这篇文章基本按照原文  ThinkPHP5开发环境安装和配置 ,在此感谢该作者 一.实验目的 1.掌握ThinkPHP5(简称 ...

  6. 从零开始利用vue-cli搭建简单音乐网站(一)

    最近在学习vue框架,练习了一些例子之后,想着搭建一个vue项目,了解到官方有提供一个vue-cli工具来搭建项目脚手架,尝试了一下,写下博客来记录一下. 一.工具环境 1.node.js 6.10. ...

  7. Spring的DI(Dependency Injection)

    写在之前,作为正在学习的程序员,对于Spring理解比较差,给两个简单的定义大家看一下. 控制反转(Inversion of Control),是一个重要的面向对象编程的法则来削减计算机程序的耦合问题 ...

  8. Android 自定义Android ORM 框架greenDAO数据库文件的路径

    import android.content.Context; import android.content.ContextWrapper; import android.database.Datab ...

  9. 【虚拟机-远程连接】Azure Linux 虚拟机常见导致无法远程的操作

    对Azure虚拟机的一些操作可能会导致无法远程连接,本文罗列了以下导致不能远程连接的场景: 场景1 - 在虚拟机配置IP地址或MAC地址 场景2 - 错误地修改服务的配置文件 场景3 - 误设置防火墙 ...

  10. hadoop的shell总结

    ls命令(文件内容) 列出系统跟目录下的目录和文件 Hadoop fs -ls / 列出文件系统所有的目录和文件 Hadoop fs -ls -R / cat命令(列出文档内容) Hadoop fs ...