2014-01-09 57 views
0

我正在運行的表tblpages_copy查詢來獲取該行dateCreated會,並在同一循環更新tblpages_copy2。出於某種原因,在tblpages_copy2中創建的日期會進入今天的日期。MYSQL插入今天的日期到數據庫

我已經檢查了$ date2的價值和它的prefectly精細它是一個正確的值。該類型的dateCreated會在tblpages_copy的是串

下面是該查詢

$i=0; 
$q = mysql_query("SELECT datecreated FROM tblpages_copy"); 
while($row = mysql_fetch_array($q)){ 
    $datecreated = $row["datecreated"]; 
    $date = strtotime($datecreated); 
    $date2 = date('Y-m-d H:i:s', $date); 

    $q2 = mysql_query('UPDATE tblpages_copy2 SET datecreated = ' . $date2 . ' '); 
     if($q2){ 
      echo $i++ .'&nbsp;&nbsp;'. $q2 . '&nbsp;' . $date2 . "<br/>"; 
     } else { 
      echo mysql_error() . "<br/>"; 
     } 
} 

MySQL錯誤轉儲

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'xx' at line 1 

我懷疑的是,更新查詢是錯誤的。我曾嘗試一些方法還沒有運氣

$q2 = mysql_query("UPDATE tblpages_copy2 SET datecreated = '$date2'"); 
$q2 = mysql_query("UPDATE tblpages_copy2 SET datecreated = ". $date2); 
+0

第一次檢查'$ date2'的值... –

+0

** $ date2 **確實返回正確的值... –

+0

要開始調試,您應該回顯您的結果SQL語句。 – Raptor

回答

2

變化

mysql_query('UPDATE tblpages_copy2 SET datecreated = ' . $date2 . ' '); 

mysql_query('UPDATE tblpages_copy2 SET datecreated = "' . $date2 . '"'); 

我敢打賭,它的工作原理。日期與其他任何字符串一樣,必須加引號。

3

嘗試這樣做,周圍$date2',並使用"的用於查詢,而不是'的:

$q2 = mysql_query("UPDATE tblpages_copy2 SET datecreated = "' . $date2 . '" "); 
1

嘗試

'UPDATE tblpages_copy2 SET datecreated = "' . $date2 . '"' 

唐`使用mysql_ *函數。 mysql_ *函數已被棄用。您可以使用PDO和Mysqli

+0

感謝您的意見,我已經轉換爲mysqli,並嘗試你的SQL,但仍然不適合我。 –

+1

@NavneilNaicker $ datecreated的值是多少? – railsbox