2010-02-17 31 views
2

我有以下代碼:如何將一個日期作爲參數插入到mysql中?

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 [「日期」]格式爲DD.MM.YYYY前(2010年2月18日)

我無法找到一個日期參數,所以我想把它作爲一個字符串插入,這是正確的嗎?我假設我需要告訴mysql如何處理輸入,但在主題上找不到任何東西。 ORACLE中的等價物如果有助於澄清我所要求的內容,那麼TO_DATE(?,'dd.mm.yyyy')就等同於TO_DATE(?,'dd.mm.yyyy')。

回答

2

你可以看看在STR_TO_DATE功能。它需要一個格式參數。格式參數的允許值描述如下here

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