PHP怎么更新mysql数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP怎么更新mysql数据库相关的知识,希望对你有一定的参考价值。

session_start();//读取本地文件
$userid = $_SESSION['userid']; //获取用户id
$datas = $_POST['datas'];
$list = $datas['list'];
foreach($list as $v)
$mysqli = mysql_query("INSERT INTO wupins (name,bm,userid,time) VALUES ('$v[name]','$v[bm]','$userid',now())"); //增到到wupins表
$id = mysql_insert_id(); //获取插入的每条数据的id
;
$mysqli_is = mysql_query("UPDATE users SET leve='$datas[leve]',jingjie='$datas[jingjie]',qian='$datas[qian]',gj='$datas[gj]',fy='$datas[fy]',xl='$datas[xl]' WHERE Id='$userid'"); //更新user表
$json_arr = array("rows"=>$mysqli_is,"wp_id"=>$id);
$json_obj = json_encode($json_arr);
echo $json_obj;

我想问的问题:
datas是一条json数据,里面有一个list数组;
前端通过轮询的方式一直往这里提交数据(datas),$list里面的数组一直在改变数量,我应该怎么改才不会一直插入重复的数据啊,还有怎么获取插入的每天数据的id

    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 )。这种多个表达式的情况,是按照从左往右顺序执行的。

参考技术A 插入数据时,id自增,就不会重复,添加上时间字段,需要那一天的数据可以直接通过该字段查询,查询时可以用一个函数比对时间,看一下数据库手册,找到这个函数

如何将 MySql 时间戳列更新为 PHP 上的当前时间戳?

【中文标题】如何将 MySql 时间戳列更新为 PHP 上的当前时间戳?【英文标题】:How to update MySql timestamp column to current timestamp on PHP? 【发布时间】:2011-08-17 16:25:07 【问题描述】:

我想通过我的 PHP 代码手动更新数据类型为 timestamp 的列。

你能告诉我怎么做吗?

【问题讨论】:

是否必须是 PHP 时间戳而不是 mySQL 的 NOW() 【参考方案1】:

使用这个查询:

UPDATE `table` SET date_date=now();

示例代码可以是:

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  
  die('Could not connect: ' . mysql_error());
  

mysql_select_db("my_db", $con);

mysql_query("UPDATE `table` SET date_date=now()");

mysql_close($con);
?>

【讨论】:

当我们谈论时间戳时,我们通常指的是 GMT。这将给出带有服务器时区的日期。【参考方案2】:

另一种选择:

UPDATE `table` SET the_col = current_timestamp

看起来很奇怪,但按预期工作。如果让我猜的话,我敢打赌这比打电话给now() 快一点。

【讨论】:

不应该很快,因为根据这个 (dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html) 它只是 now() 的同义词

以上是关于PHP怎么更新mysql数据库的主要内容,如果未能解决你的问题,请参考以下文章

如何将 MySql 时间戳列更新为 PHP 上的当前时间戳?

php读取mysql数据库并更新某个记录?

通过android使用php更新mysql数据库

更新查询 PHP MySQL

php mysql 更新时间日期

使用复选框和 PHP 更新 MySQL 数据库