MySQL içine bir tarih eklemek için çalışırken ben tipik bir sorun var.
MySQL tanımlanan sütun türü TARİH olduğunu. Benim PHP version 5.3.0 olduğunu
Bunun dışında tarih ile ilgili sayısından, benim kod kalanı gayet güzel çalışıyor.
Ve bu yapmak için benim PHP script:
$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
")");
Ve bu hatalı fonksiyonu şudur:
function getMySQLDateString($buydate) //typical buydate : 04/21/2009
{
$mysqlDateString = date('Y-m-d H:i:s', $strtotime($buydate));
return $mysqlDateString;
}
Ilk önce yorumladı satır bir şey olmaz, komut hiçbir hata ile yürütülür, ancak, bundan sonra datebase değişti hiçbir şey yoktur.
Geçerli yaklaşım Ölümcül hata söyleyerek işlev adı, bu satırda bir dize olmalıdır neden olacaktır.
Aslında this thread on SO izledi, ama sadece MySQL içine tarihini geçemez ...
Herkes bana doğru değil hangi bölümünün anlamaya yardımcı olabilir?
Bunu nasıl yapacağını, bu durumda, bu doğru olsun?
Böyle bir kalfa gibi soru için özür dilerim, şimdiden teşekkürler ederim.
Güncelleme:
Burada bana bu hatırlatan, ve için teşekkürler html çıktısı olarak tam hata iletisi:
Fatal error: Function name must be a string in C:\xampp\htdocs\comic\app\insertBookIntoDB.php on line 85
hattına hangi nokta ile başlar
$mysqlDateString = date('Y-m-d H:i:s', $strtotime($buydate));