2016-04-21 59 views
-1

在我的php應用程序中我需要更新mysql表中的datatime,其中列datatimenull或類似'0000-00-00'和兩個外鍵有兩個特定值。如何更新它爲NULL或'0000-00-00'的日期時間?

我試試這個代碼更新:

$query3="UPDATE prestiti SET DATA_FINE='".$datafine."' WHERE DATA_FINE='0000-00-00' AND ID_U=".$id_utente." AND ID_L=".$id_libro.""; 
$risultato4 = mysql_query($query3,$conn) or die ($query3); 

的代碼不工作,當它的工作原理是改變列DATA_FINE每條記錄​​在ID_UID_L對應於特定的值,如果也有DATA_FINE已經是一個價值。

那麼問題是什麼?我也嘗試將DATA_FINE IS NULL放入我的WHERE,但它不起作用。

$datafine被設置爲一個日期時間變量,我用它來插入另一列,它的工作原理!

+0

如果列是日期時間,他們將不得不重視他們也有時間。您將需要使用DATA_FINE LIKE'%0000-00-00%'= – Matt

+0

DATETIME格式爲'0000-00-00 00:00:00',並且您正在檢查'0000-00-00'。 Btw'0000-00-00 00:00:00'!='null'。 RTM http://dev.mysql.com/doc/refman/5.7/en/datetime.html'YYYY-MM-DD HH:MM:SS' –

+0

@Matt現在感謝它的正常工作 – Shaila

回答

0

感謝馬特回答我的問題是:

$query3="UPDATE prestiti SET DATA_FINE='".$datafine."' WHERE DATA_FINE LIKE '%0000-00-00%' AND ID_U=".$id_utente." AND ID_L=".$id_libro.""; 
$risultato4 = mysql_query($query3,$conn) or die ($query3); 

我在哪裏編輯DATA_FINE='0000-00-00'DATA_FINE LIKE '%0000-00-00%'