PHP更新数据库重复 php 更新

为啥thinkphp的一个方法刷新两次,数据库更新了两次

刷新相当于这个方法执行了两次,而你的数据库没有设置字段不能重复。所以就更新两次。

创新互联专注于肥乡网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供肥乡营销型网站建设,肥乡网站制作、肥乡网页设计、肥乡网站官网定制、微信小程序服务,打造肥乡网络公司原创品牌,更为您提供肥乡网站排名全网营销落地服务。

如果刷新时没有携带数据,就会插入空记录。

php 如何在页面刷新时不重复操作数据库?

这个问题首先是你自己设计导致的,想要避免也得改变你的设计,比如一种方式:可以将“直接在浏览器里输入success.php”设计为不能直接访问,以下是其中的两个实现方式。

1.将success.php放到一个不能直接访问的web路径下,在apache中.htacess可以控制访问。

2.控制可以自己来实现,设定一个参数,如果没有该参数则表示不能访问。

不知道是不是你想要的。

php 如何避免刷新页面重复插入数据到数据库

每次进入提交的页面,给一个session,为了避免重复,session的key可以是随机的。

在表单填写页面

?php

session_start(); // 启用session

$time = time();

$key = 'sess_' . $time; // 根据时间生成一个随机的session key

$_SESSION[$key] = $time; // 设置session的值

?

!--{通过隐藏表单将 session 的 key传递到服务端处理}--

input type="hidden" name="session_key" value="?php echo $time;?" /

处理页面

?php

session_start(); // 启用session

$key = $_POST['session_key'];

if(!$key || $_SESSION[$key] != substr($key, 5)){

// 如果没有传 session_key 参数

// 或者 session_key 参数值截断 sess_后的数字 与 session参数值不匹配

unset($_SESSION[$key]); // 删除 session 值

// 然后考虑是否要提示错误,或者转入另一个页面

exit(); // 终止页面代码执行

}

// 下面进行数据写操作

// 数据操作完成后,删除session

unset($_SESSION[$key]);

// 后续操作

?

$########################

一个页面也是一样的,我给你的只是一个思维,

具体如何实现,你要根据自己的实际情况去处理

很多东西都不是通用的

另外,不管多少个页面,必然包含两个部分,一部分是表单填写,一部分是数据处理,这个跟多少个页面无关~~就看你是否能够理解这段代码的意义,如果不理解的话,嵌套进去也没啥用,能够理解的话,或许你能够找出更适合自己的解决方案

PHP怎么更新mysql数据库

MySQL Update Set 更新数据

UPDATE 更新

UPDATE SET 语法用于修改更新数据表中的数据。

语法:

UPDATE tb_name SET column1 = new_value1,column2 = new_value2,… WHERE definition

该语法将数据表中符合 WHERE 条件的记录中的 column1 的值更新为 new_value1,column2 的值更新为 new_value2 ,以此类推。如果省略 WHERE 条件,则会将表中所有记录的 column 值进行更新。

例子:

?php

$conn = @mysql_connect("localhost","root","root123");

if (!$conn){

die("连接数据库失败:" . mysql_error());

}

mysql_select_db("test", $conn);

mysql_query("set names 'gbk'");

$sql = "UPDATE user SET email = 'xiaoming@163.com' WHERE username = '小明'";

if(mysql_query($sql,$conn)){

echo "更新数据成功!";

} else {

echo "更新数据失败:".mysql_error();

}

?

更新前数据:

uid username password email regdate

1 admin b7e591c246d010bb2ccd77d52490c85e admin@5idev.com 1277992339

2 小明 a193686a53e4de85ee3f2ff0576adf01 xiao@163.com 1278063917

3 Jack 0193686a35e4de85ee3f2ff0567adf49 jack@gmail.com 1278061380

4 小王 e10adc3949ba59abbe56e057f20f883e 12345@163.com 1289632955

例子将 user 表中 username 为 小明 的 email 修改为 xiaoming@163.com 。

更新后数据:

uid username password email regdate

1 admin b7e591c246d010bb2ccd77d52490c85e admin@5idev.com 1277992339

2 小明 a193686a53e4de85ee3f2ff0576adf01 xiaoming@163.com 1278063917

3 Jack 0193686a35e4de85ee3f2ff0567adf49 jack@gmail.com 1278061380

4 小王 e10adc3949ba59abbe56e057f20f883e 12345@163.com 1289632955

UPDATE 表达式

UPDATE 语法允许 SET 后面跟表达式。

例子 1 :

UPDATE article SET pv = pv+1 WHERE id = 123

该例子让 id 为 123 的文章在被点击阅读的时候点击量加 1 。

例子 2 :

UPDATE persondata SET age = age*2, age = age+1

该例子 SET 后面跟了两个表达式:age = age*2(年龄加倍),age = age+1(再加 1 )。这种多个表达式的情况,是按照从左往右顺序执行的。


当前名称:PHP更新数据库重复 php 更新
文章来源:http://azwzsj.com/article/dosispj.html