destoon 数据库操作
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 数据库操作的更多相关文章
- 如何在高并发环境下设计出无锁的数据库操作(Java版本)
一个在线2k的游戏,每秒钟并发都吓死人.传统的hibernate直接插库基本上是不可行的.我就一步步推导出一个无锁的数据库操作. 1. 并发中如何无锁. 一个很简单的思路,把并发转化成为单线程.Jav ...
- 【知识必备】ezSQL,最好用的数据库操作类,让php操作sql更简单~
最近用php做了点小东东,用上了ezSQL,感觉真的很ez,所以拿来跟大家分享一下~ ezSQL是一个非常好用的PHP数据库操作类.著名的开源博客WordPress的数据库操作就使用了ezSQL的My ...
- MySQL 系列(二) 你不知道的数据库操作
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 本章内容: 查看\创建\使用\删除 数据库 用户管理及授权实战 局域网 ...
- ABP创建数据库操作步骤
1 ABP创建数据库操作步骤 1.1 SimpleTaskSystem.Web项目中的Web.config文件修改数据库配置. <add name="Default" pro ...
- 【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- django数据库操作和中间件
数据库配置 django的数据库相关表配置在models.py文件中,数据库的连接相关信息配置在settings.py中 models.py相关相关参数配置 from django.db import ...
- [Android Pro] 完美Android Cursor使用例子(Android数据库操作)
reference to : http://www.ablanxue.com/prone_10575_1.html 完美 Android Cursor使用例子(Android数据库操作),Androi ...
- phpcms v9 中的数据库操作函数
1.查询 $this->select($where = '', $data = '*', $limit = '', $order = '', $group = '', $key='') 返回 ...
- Android打造属于自己的数据库操作类。
1.概述 开发Android的同学都知道sdk已经为我们提供了一个SQLiteOpenHelper类来创建和管理SQLite数据库,通过写一个子类去继承它,就可以方便的创建.管理数据库.但是当我们需要 ...
随机推荐
- ES6入门教程---解构赋值和字符串扩展
解构赋值: ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring). 数组的解构赋值: 按照对应的顺序解构. var arr = [1,[2,3]]; ...
- 常用的js工具函数
JS选取DOM元素的方法注意:原生JS选取DOM元素比使用jQuery类库选取要快很多1.通过ID选取元素document.getElementById('myid');2.通过CLASS选取元素do ...
- CF620E New Year Tree 状压+线段树(+dfs序?)
借用学长的活:60种颜色是突破口(我咋不知道QAQ) 好像这几道都是线段树+dfs序??于是你可以把60种颜色压进一个long long 里,然后向上合并的时候与一下(太妙了~) 所以记得开long ...
- [HNOI2010] 弾飞绵羊
题目链接: 传送门 题目分析: 题外话: 我即使是死了,钉在棺材里了,也要在墓里,用这腐朽的声带喊出: 根号算法牛逼!!! 显然,这是一道LCT裸题,然而在下并不会LCT于是采用了分块瞎搞 对于每个点 ...
- SSAS 部署之创建部署脚本
1.获取多维数据库的结构脚本: 当你的SSAS项目完成后,在Bin目录下会有一个SSAS.asdatabase文件. 2.打开“开始” ->Microsoft SQL Server 2008 R ...
- QrenCode : linux命令行下生成二维码图片
原文链接:http://wowubuntu.com/qrencode.html # 作者:riku/ / 本文采用CC BY-NC-SA 2.5协议授权,转载请注明本文链接. 对于二维码大家应该并不陌 ...
- springboot集成shiro实现权限缓存和记住我
到这节为止,我们已经实现了身份验证和权限验证.但是,如果我们登录之后多次访问http://localhost:8080/userInfo/userDel的话,会发现权限验证会每次都执行一次.这是有问题 ...
- pixhawk 固件Firmware内执行make px4fmu-v2_default 编译报错解决办法
执行下列指令报错 make px4fmu-v2_default /bin/sh: 1: Tools/check_cmake.sh: Permission denied Makefile:44: Not ...
- str中的join方法,fromkeys(),set集合,深浅拷贝(重点)
一丶对之前的知识点进行补充 1.str中的join方法.把列表转换成字符串 # 将列表转换成字符串,每个元素之间用_拼接 s = "_".join(["天",& ...
- $.ajax同步/异步(async:false/true)
虽然说ajax用来执行异步请求的比较多,但有时还是存在需要同步执行的情况的. 比如:我需要通过ajax取执行请求以返回一个值,这个值在ajax后面是需要使用到的,这时就不能用异步请求了.这时候就需要使 ...