簡體   English   中英

無法將日期時間從time()更改為NOW()

[英]Can't change datetime from time() to NOW ()

我有一行代碼正在嘗試更改...原始行正在插入Unix時間,但是我想要CURRENT_TIMESTAMP或NOW。 我已將數據庫中的字段更改為“ datetime”類型。 但是,當我更改代碼時,會收到以下錯誤消息:發送消息時發生錯誤。 列數與第1行的值數不匹配

這是原始代碼,然后是我嘗試更改它的方式。 任何幫助將不勝感激!

原始代碼:

    //if(mysql_query('insert into pm (id, id2, title, user1, user2, message, date_time, user1read, user2read)values("'.$id.'", "'.(intval(mysql_num_rows($req2))+1).'", "", "'.$_SESSION['username'].'", "", "'.$message.'", "'.time().'", "", "")') and mysql_query('update pm set user'.$user_partic.'read="yes" where id="'.$id.'" and id2="1"'))

修改后的代碼:

    if(mysql_query('insert into pm (id, id2, title, user1, user2, message, date_time, user1read, user2read)values("'.$id.'", "'.(intval(mysql_num_rows($req2))+1).'", "", "'.$_SESSION['username'].'", "", "'.$message.'", CURRENT_TIMESTAMP())') and mysql_query('update pm set user'.$user_partic.'read="yes" where id="'.$id.'" and id2="1"'))

如錯誤所示:

INSERT語句中有9個項目,但只有7個VALUES 如注釋中建議的,andrewsi建議將丟失的字段替換為""

格式化查詢使其更加明顯:

INSERT INTO pm (id, id2, title, user1, user2, message, date_time, user1read, user2read)
VALUES("'.$id.'",
       "'.(intval(mysql_num_rows($req2))+1).'",
       "",
       "'.$_SESSION['username'].'",
       "",
       "'.$message.'",
       CURRENT_TIMESTAMP())

正確的查詢應為:

INSERT INTO pm (id, id2, title, user1, user2, message, date_time, user1read, user2read)
VALUES("'.$id.'",
       "'.(intval(mysql_num_rows($req2))+1).'",
       "",
       "'.$_SESSION['username'].'",
       "",
       "'.$message.'",
       CURRENT_TIMESTAMP(),
       "",
       "")

希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM