Nasıl bir parametre olarak mysql içine bir tarih ekleyebilirim?

2 Cevap php

Ben aşağıdaki kodu vardır:

function dbInsert()
{
    global $dbcon, $dbtable;
    global $inputData;

    $sqlQuery = 'INSERT INTO ' . $dbtable . ' (id_author, date, title, description) VALUES (?, ?, ?, ?)';
    $stmt = $dbcon->prepare($sqlQuery);
    echo $sqlQuery;
    $stmt->bind_param('isss', $inputData['idAuthor'], $inputData['date'], $inputData['title'], $inputData['description']);
    $stmt->execute();
    $stmt->close();
    header('Location: ./news.php?order=' . $_GET['order'] . '&sort=' .  $_GET['sort'] . '&filter=' .  $_GET['filter'] . '&page=' .  $_GET['page'] . '');
}

$ InputData ['tarih'] gg.aa.yyyy eski olarak biçimlendirilmiş (18.02.2010)

Ben bu yüzden bir dize olarak eklemek çalışıyorum bir tarih parametre bulamadım, bu doğru mu? Ben girişi işlemek için nasıl mysql söylemek gerekir, ancak bu konuda herhangi bir şey bulamadı varsayalım. I soruyorum ne açıklamak yardımcı olur ORACLE eşdeğer TO_DATE (? 'Gg.aa.yyyy') olacaktır.

2 Cevap

Bir tarih / saat sütunu kullanabilirsiniz

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-types.html

ve STR_TO_DATE işlevini kullanın:

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_str-to-date

Yoksa unix zaman damgası dönüştürmek ve bir INT Sütun bu birini ekleyebilirsiniz.

Sen STR_TO_DATE fonksiyonuna bir göz sürebilir. Bu biçim parametre alır. Format parametresi için izin verilen değerler açıklanmıştır here.

$sqlQuery = 'INSERT INTO ' . $dbtable . ' (id_author, date, title, description)' .
            ' VALUES (?, STR_TO_DATE(?, \'%d.%m.%Y\'), ?, ?)';