嘗試向MySQL中插入日期時,我遇到了一個典型問題。PHP - 在MySQL中插入日期時發生錯誤
在MySQL中定義的列是DATE類型的。我的PHP版本是5.3.0
除了這個日期相關的問題,我的代碼的其餘部分工作得很好。
這是我的PHP腳本來做到這一點:
$tablename = BOOKS_TABLE;
$insert = mysql_query("INSERT INTO $tablename (barcode, book_name, volume_num,".
" author, publisher, item_type, buy_price, buy_date) VALUES ".
"(".
"'" . $barcode . "', ".
"'" . $bookname . "', ".
"'" . $volumenum . "', ".
"'" . $author . "', ".
"'" . $publisher . "', ".
"'" . $itemtype . "', ".
"'" . $buyprice . "', ".
"'" . getMySQLDateString($buydate). "'".
//"'STR_TO_DATE('".$buydate ."', '%d/%m/%Y'))'". //nothing changes in MySQL
")");
這是錯誤的功能:
function getMySQLDateString($buydate) //typical buydate : 04/21/2009
{
$mysqlDateString = date('Y-m-d H:i:s', $strtotime($buydate));
return $mysqlDateString;
}
第一註釋掉行不會做任何事情,在執行腳本沒有錯誤,但是,在此之後,數據庫中沒有任何變化。
當前方法將導致致命錯誤,說明函數名稱必須是此行中的字符串。
其實我也跟着this thread on SO,但就是無法日期傳遞到MySQL的
誰能幫我找出哪一部分是不正確的?
你會怎麼做,在這種情況下,它是正確的?
對不起,這種熟練的問題,非常感謝提前。
更新時間:
謝謝你提醒我這一點,並在這裏是作爲HTML輸出確切的錯誤信息:
致命錯誤:函數名必須是在C字符串:\ XAMPP \ htdocs中\上線漫畫\應用\ insertBookIntoDB.php 85
這點到符合
$mysqlDateString = date('Y-m-d H:i:s', $strtotime($buydate));
即使您沒有將錯誤消息作爲任何信息的來源進行評估,其他人也會覺得它很有用。所以,然後在這裏提出問題,通過複製粘貼到你的問題,總是帶來確切的和完整的錯誤信息。它會幫助別人猜測特定的錯誤是什麼 – 2010-05-06 10:52:24