正在努力将数据库日期更新x天


Struggling with updating a database date by x days

我在为数据库中的日期添加2天时遇到问题。我已经尝试了多种方法,但都没有更新数据库。

 include('CONNECT-DB.php');
 // check if the 'id' variable is set in URL, and check that it is valid
 if (isset($_GET['id']) && is_numeric($_GET['id']))
  {
 // get id value
 $id = $_GET['id'];
 // delete the entry
  $id = $_GET['id'];
$result1 = mysql_query("SELECT `offerends` FROM `data` WHERE id=$id");
$date1 = str_replace('-', '/', $result1);
$date2 = date('y-m-d',strtotime($date1 . "+2 days"));
mysql_query("UPDATE `offerends` SET `$date2` WHERE id=$id");

我已经修改了它,谢谢你的建议,这是现在适合我使用的正确代码。

 if (isset($_GET['id']) && is_numeric($_GET['id']))
 {
 $id = $_GET['id'];
  $id = $_GET['id'];
$result1 = mysql_query("SELECT `offerends` FROM cheapest` WHERE id=$id");
$date2 = "DATE_ADD(offerends,INTERVAL 3 DAY)";
mysql_query("UPDATE `cheapest` SET offerends=$date2  WHERE id=$id");

您所需要做的就是

mysql_query("UPDATE `data` SET `offerends` = `offerends` + INTERVAL 2 DAY WHERE id=$id");

尤其是,不要删除条目。您无法更新不存在的内容。;)

另一个重要注意:我不是程序员,但我敢打赌,这段代码对SQL注入来说是不安全的。不要直接使用数据,要正确转义。读一读这个主题!

我很确定您的SQL应该看起来像

UPDATE `data` SET `offerends`='$date2' WHERE id=$id

http://dev.mysql.com/doc/refman/5.0/en/update.html

针对特定语言的详细信息进行调整(比如那些背景信息)

更新:更改了指向mysql文档的链接。以前是w3schools。老实说,虽然这并不重要,但我链接它的唯一原因是为了显示的sql语法

UPDATE [tablename] SET [columnNname] = [value] WHERE [columnname] = [value]

mysql_query("UPDATE offerends SET $date2=DATE_ADD(offenders,INTERVAL 2 DAY)WHERE id='$id'");

mysql_query("UPDATE `offerends` SET `$date2`= DATE_ADD(offerends,INTERVAL 2 DAY) WHERE id=$id");