PHP时间戳使用实例代码


Posted in PHP onJune 07, 2008

     我们一定会碰到这样的情况:银行A与银行B几乎同时打开你的账户并看到你的账户上原有1000元存款,然后两家银行都想在你的账户上加上500元存款。那么,银行A便将1000元改成1500元,同时,银行B也将1000元改成了1500元。这样就糟糕了!最后,你的银行账户上最后只有1500元而不是理应的2000元,等于白白损失了500元!这就是在没有锁定数据的情况下修改造成的严重问题。然而,我们可以通过时间戳来巧妙解决这个问题。

    我们来看思路:

在银行account表中建立时间戳字段timestamp,设定为文本类型varchar。 
当银行A读取account表中的存款字段时,同时也读取时间戳字段,比如123456。 
当银行A修改完存款数值后,进行存盘操作时,将先前读取的时间戳123456与当时表中的时间戳进行一次对比,如果一致,那么允许存盘,然后生成一个新的时间戳比如456789替换表中原有的时间戳123456。
    这样做会带来什么好处呢。

    我们再来看一开始的那个情况:银行A与银行B几乎同时打开你的账户并看到你的账户上原有1000元存款,与此同时两个银行业同时读取了时间戳123456,接下来就有区别了,当银行A把1000元改成1500元后,存盘,系统将对比先前的时间戳123456是否与存盘时表中的时间戳一致,显然,现在应该是一致的,那么允许存盘,并生成新的时间戳456789替换了旧的时间戳123456。接下去,B银行也将1000元修改成了1500元,存盘,系统对比先前的时间戳123456是否与存盘时表中的时间戳一致,发现先前的时间戳123456已经与现在的时间戳456789相异,系统拒绝存盘,要求刷新数据,那么数据刷新之后1000元已经因为之前A银行存入了500元而成为了1500元,那么B银行就会在1500元的基础上改为2000元,再次存盘,系统允许。这样,我们就避免了重复修改数据所带来的错误!

    有些像绕口令,希望大家已经明白我的意思~

    最后,让我们看看PHP中对时间戳的一些操作代码。

获得时间戳
<?php
$timestamp=time();
echo $timestamp;
?> 
更新timestamp的SQL的语句:
update 表名 set 字段名=$timestamp where 条件=值;
作者:Sunec
原载:Cenus Blog
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。

PHP 相关文章推荐
BBS(php &amp; mysql)完整版(七)
Oct 09 PHP
Dedecms常用函数解析
Feb 01 PHP
PHP中include()与require()的区别说明
Mar 10 PHP
php的日期处理函数及uchome的function_coomon中日期处理函数的研究
Jan 12 PHP
PHP中的按位与和按位或操作示例
Jan 27 PHP
php中数字0和空值的区别分析
Jun 05 PHP
destoon常用的安全设置概述
Jun 21 PHP
PHP实现无限级分类(不使用递归)
Oct 22 PHP
twig模板获取全局变量的方法
Feb 05 PHP
PHP实现的抓取小说网站内容功能示例
Jun 27 PHP
PHP接入微信H5支付的方法示例
Oct 28 PHP
php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析
Mar 02 PHP
PHP-MySQL教程归纳总结
Jun 07 #PHP
PHP实现MySQL更新记录的代码
Jun 07 #PHP
用PHP连接MySQL代码的参数说明
Jun 07 #PHP
PHP简单系统数据添加以及数据删除模块源文件下载
Jun 07 #PHP
用PHP进行MySQL删除记录操作代码
Jun 07 #PHP
PHP insert语法详解
Jun 07 #PHP
PHP添加MySQL数据记录代码
Jun 07 #PHP
You might like
php 获取客户端的真实ip
2009/11/30 PHP
使用PHP备份MySQL和网站发送到邮箱实例代码
2013/11/28 PHP
在Debian系统下配置LNMP的教程
2015/07/09 PHP
在WordPress中安装使用视频播放器插件Hana Flv Player
2016/01/04 PHP
PHP会话控制实例分析
2016/12/24 PHP
php实现获取农历(阴历)、节日、节气的类与用法示例
2017/11/20 PHP
Laravel框架Eloquent ORM修改数据操作示例
2019/12/03 PHP
Jquery之美中不足小结
2011/02/16 Javascript
jQuery页面图片伴随滚动条逐渐显示的小例子
2013/03/21 Javascript
js相册效果代码(点击创建即可)
2013/04/16 Javascript
jQuery 浮动导航菜单适合购物商品类型的网站
2014/09/09 Javascript
jQuery获得document和window对象宽度和高度的方法
2015/03/25 Javascript
JS截取与分割字符串常用技巧总结
2015/11/10 Javascript
JavaScript判断表单为空及获取焦点的方法
2016/02/12 Javascript
javascript中去除数组重复元素的实现方法【实例】
2016/04/12 Javascript
微信小程序 获取设备信息 API实例详解
2016/10/02 Javascript
微信小程序教程之本地图片上传(leancloud)实例详解
2016/11/16 Javascript
Angular 4 依赖注入学习教程之FactoryProvider的使用(四)
2017/06/04 Javascript
JS非空验证及邮箱验证的实例
2017/08/11 Javascript
Vue2几种常见开局方式详解
2017/09/09 Javascript
javascript异步处理与Jquery deferred对象用法总结
2019/06/04 jQuery
webpack.DefinePlugin与cross-env区别详解
2020/02/23 Javascript
小程序自定义导航栏兼容适配所有机型(附完整案例)
2020/04/26 Javascript
vue:el-input输入时限制输入的类型操作
2020/08/05 Javascript
python实现的登录和操作开心网脚本分享
2014/07/09 Python
python结合API实现即时天气信息
2016/01/19 Python
python递归查询菜单并转换成json实例
2017/03/27 Python
Python实现进程同步和通信的方法
2018/01/02 Python
python统计字母、空格、数字等字符个数的实例
2018/06/29 Python
pytorch 使用加载训练好的模型做inference
2020/02/20 Python
解决Jupyter notebook更换主题工具栏被隐藏及添加目录生成插件问题
2020/04/20 Python
python获取天气接口给指定微信好友发天气预报
2020/12/28 Python
浅析HTML5中header标签的用法
2016/06/24 HTML / CSS
非洲NO.1网上商店:Jumia肯尼亚
2016/08/18 全球购物
毕业论文致谢范文
2015/05/14 职场文书
html用代码制作虚线框怎么做? dw制作虚线圆圈的技巧
2022/12/24 HTML / CSS