2013-07-22 28 views
-1

我在添加2天到數據庫中的日期時遇到問題。我已經嘗試過多種方法,但沒有一個更新數據庫。用x天更新數據庫日期努力

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"); 

我有重新審查的IT,感謝您的建議,這是現在適用於我的正確代碼。

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"); 
+0

它真的「不更新」數據庫嗎?你確定你的SQL查詢在語法上是正確的嗎? – RandomSeed

回答

2

所有你需要做的是

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

,尤其是,不要刪除該條目。你不能更新那裏不存在的東西。 ;)

另一個重要注:我不是程序員,但我敢打賭,這個代碼是不是從SQL注入安全。不要直接使用數據,請妥善轉義數據。閱讀有關該主題!

+0

在閱讀了代碼和有用的建議後,我設法修復它以做我想做的事。 if(isset($ _GET ['id'])&& is_numeric($ _GET ['id'])) { //獲得id值 $ id = $ _GET ['id']; //刪除條目 $ id = $ _GET ['id']; $ result1 = mysql_query(「SELECT'offerends' FROM最便宜'WHERE id = $ id」); $ date2 =「DATE_ADD(offerends,INTERVAL 3 DAY)」; mysql_query(「UPDATE'cheapest' SET offerends = $ date2 WHERE id = $ id」); –

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

我敢肯定你的SQL應該像

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

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

調整語言的具體細節(比如那些無論是反引號)

更新:改變了鏈接到mysql文檔。這是以前的學校。老實說,雖然它並不重要,唯一的原因,我掛這是顯示

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

我不是推薦w3schools,他們是我看到的第一個具有UPDATE – Paarth

+0

@rid的SQL語法的人:我知道SQL,我不熟悉PHP。我認爲OP是在做一些我不知道的事情,所以我把它放在了一邊。我所關心的是他們的SQL語法不正確。 – Paarth

+0

如果它仍然是錯的,請隨意自己編輯它或讓我知道什麼是錯的。 PHP不是我的專長。 – Paarth

0

的mysql_query(「更新offerends SET $date2 = DATE_ADD的SQL語法(offerends,間隔2天)WHERE ID ='$ ID 「「);