2014-03-05 51 views
1

我想更新表中的2列,我已經回顯了$ sql1,它顯示了我想要(ymd)插入數據庫的日期,但是當我啓動查詢時,日期已更新作爲數據庫中的0000-00-00(ymd)。在PHP中更新查詢

echo $sql1

UPDATE member SET 
    reg_date='2014-03-05' AND expiry='2014-03-06' 
    WHERE bill_id='9' 

下面的輸出是我的查詢statements--

$sql1="UPDATE member SET 
     reg_date='$date1' AND expiry='$date' 
     WHERE bill_id='$_REQUEST[bid]'"; 
mysql_query($sql1,$con)or die(mysql_error()); 

能否請你解決這個錯誤嗎?

+0

語法不正確。 'reg_date ='$ date1'和expiry ='$ date''應該是'reg_date ='$ date1',expiry ='$ date'' – karthikr

回答

4

正確的語法是用逗號分隔SET子句。

UPDATE table 
    SET field1 = 1, field2 = 2, field3 = 3 
    WHERE field = 1 

你的情況:

$sql1="UPDATE member 
    SET reg_date='$date1', expiry='$date' 
    WHERE bill_id='" . $_REQUEST[bid] . "'"; 
mysql_query($sql1,$con)or die(mysql_error()); 

我也分離出來,你WHERE條款,因爲它看起來好像它可能會遇到麻煩解析字符串。

1

你應該用逗號隔開你的價值觀,而不是與和

$sql1="update member set reg_date='$date1', expiry='$date' where bill_id='$_REQUEST[bid]'"; 
+0

非常感謝您的寶貴迴應。我已經嘗試過,它的工作原理。 –

1
$sql1="update member set reg_date='$date1', expiry='$date' where bill_id='$_REQUEST[bid]'"; 

你不應該使用「和」來分隔值,而不是可以用「逗號」分隔值。