PHP时间戳使用实例代码_php基础

     我们一定会碰到这样的情况:银行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
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。

时间: 2024-08-30 17:24:58

PHP时间戳使用实例代码_php基础的相关文章

php explode函数实例代码_php基础

explode() 函数把字符串分割为数组. 语法 explode(separator,string,limit) 参数 描述 separator 必需.规定在哪里分割字符串. string 必需.要分割的字符串. limit 可选.规定所返回的数组元素的最大数目. 说明 本函数返回由字符串组成的数组,其中的每个元素都是由 separator 作为边界点分割出来的子字符串. separator 参数不能是空字符串.如果 separator 为空字符串(""),explode() 将返回

PHP中MD5函数使用实例代码_php基础

    一般来说,一个提供会员注册的网站必定需要采集用户的密码,如何保存用户密码就是个问题.我们当然不能将密码以明文的方式储存在数据库中,因为这样的话,一般的管理员就可以查看到用户密码,显然对用户来说是件相当危险的事情.     那如何解决这个问题呢,我们可以采取这样的策略.     首先介绍一下PHP中MD5函数的使用方法:  复制代码 代码如下: <?php  $pswd1=md5("cenusdesign");  echo $pswd1;     //运行结果为:fc60e

PHP页面间传递参数实例代码_php基础

 首先给大家介绍如何通过表单传值查询数据.     任务目标:在表单中输入部门名,查询出相应部门的人员信息.     先创建search.php文件.     第一步,插入一表单,在其中包含一个输入框,一个提交按钮.search.php文件内容如下所示:  复制代码 代码如下: <html>  <head>  </head>  <body>  <h3>Search</h3>  <form action="search_

php下连接ftp实现文件的上传、下载、删除文件实例代码_php基础

php ftp传送文件到服务器 复制代码 代码如下: <?php // 开始 $ret = ftp_nb_get ($my_connection, "test", "README", FTP_BINARY, filesize("test")); // 或: $ret = ftp_nb_get ($my_connection, "test", "README", // FTP_BINARY, FTP_A

坏狼php学习 计数器实例代码_php基础

然后建立文件如下,第1步骤连数据库,然后写,然后读. 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <?    $mysql_server_name = "localhost";    $mysql_usern

PHP strstr 函数判断字符串是否否存在的实例代码_php基础

PHP strstr 定义和用法 strstr() 函数搜索一个字符串在另一个字符串中的第一次出现. 该函数返回字符串的其余部分(从匹配点).如果未找到所搜索的字符串,则返回 false. 语法 strstr(string,search) 参数 描述 string 必需.规定被搜索的字符串. search 必需.规定所搜索的字符串.如果该参数是数字,则搜索匹配数字 ASCII 值的字符. 提示和注释 注释:该函数是二进制安全的. 注释:该函数对大小写敏感.如需进行大小写不敏感的搜索,请使用 st

PHP正则匹配日期和时间(时间戳转换)的实例代码_php技巧

先来一个比较简单实用的代码 日期YYYY-MM-DD $str = ''; $isMatched = preg_match('/^\d{4}(\-|\/|.)\d{1,2}\1\d{1,2}$/', $str, $matches); var_dump($isMatched, $matches); php需要一定的时间格式才能转换成时间戳(表示从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数),这就要用到php正则判断,以下是代码: <?php //匹配时间格式为2016-0

用PHP读取超大文件的实例代码_php实例

去年年底的各种网站帐号信息的数据库泄漏,很是给力啊,趁机也下载了几个数据库,准备学学数据分析家来分析一下这些帐号信息.虽然这些数据信息都已经被"整理"过的,不过自己拿来学习也挺有用的,毕竟有这么大的数据量. 数据量大带来的问题就是单个文件很大,能够打开这个文件相当不容易,记事本就不要指望了,果断死机.用MSSQL的客户端也打不开这么大的SQL文件,直接报内存不足,原因据说是MSSQL在读取数据的时候,是一次性地将读取到的数据放在内存中,如果数据量过大,而内存不足,则会直接导致系统瘫掉.

PHP Curl模拟登录微信公众平台、新浪微博实例代码_php实例

使用curl之前先打开curl配置,具体方式百度一下就知道,开启curl扩展.密码用md5加密,这是经过测试成功的,把用户跟密码改成你的就行了. 下面一段代码给大家介绍php使用curl模拟登录微信公众平台,具体代码如下所示: <?php //模拟微信登入 $cookie_file = tempnam('./temp','cookie'); $login_url = 'https://mp.weixin.qq.com/cgi-bin/login'; $pwd = md5("********