最近的文章列表

解决php抢购秒杀抽奖等大流量并发入库导致的库存负数的问题(非/阻塞模式)

我们知道数据库处理sql是一条条处理的,假设购买商品的流程是这样的:

sql1:查询商品库存

if(库存数量 > 0)
{
//生成订单...
sql2:库存-1
}

当没有并发时,上面的流程看起来是如此完美,

2014/7/16 Comments:
ThinkPHP3.1新特性之多数据库操作更加完善

通常情况下,如果一个应用只是操作同一个数据库(或者分布式数据库)的话,你只需要在项目配置文件中定义数据库连接信息即可。这里说的多数据库操作一般指的是在一个应用中会操作不同的数据库(包括同类型的和不同类型的数据库),甚至包括动态切换多数据库的情况。

对于早期版本的ThinkPHP来说,切换数据库需要使用高级模型,而现在的3.1版本则可以更加轻松的解决了。

新版对多数据的支持有下面几种方式,开发人员可以根据实际情况选择合适的方式操作:

1.模型定义数据库

如果只是简单的跨库操作,并且只是个别模型类的话,你可以直接在模型类中定义dbName属性即可:

2014/7/4 Comments:
汇总destoon二次开发常用数据库操作

destoon在初始化系统后系统会自动连接数据库,并将数据库操作对象保存在$db。对于数据库操作方法请参考include/db_mysql.class.php函数原型,下面对常用数据库操作举例说明。

1、执行SQL语句

$db->query("INSERT INTO `{$DT_PRE}table` (`xxx`) VALUES ('yyy')");
$db->query("UPDATE `{$DT_PRE}table` SET `xxx`='yyy' WHERE
2014/6/27 Comments: