我有以下代码:
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 ['date']的格式为dd.mm.yyyy ex(18.02.2010)
我找不到日期参数,所以我试图将其作为字符串插入,这是对的吗?我假设我需要告诉mysql如何处理输入但无法找到关于该主题的任何内容。 ORACLE中的等价物将是TO_DATE(?,'dd.mm.yyyy'),如果它有助于澄清我的要求。
答案 0 :(得分:2)
您可以查看STR_TO_DATE功能。它需要一个格式参数。格式参数的允许值描述为here。
$sqlQuery = 'INSERT INTO ' . $dbtable . ' (id_author, date, title, description)' .
' VALUES (?, STR_TO_DATE(?, \'%d.%m.%Y\'), ?, ?)';
答案 1 :(得分:1)
您可以使用日期/时间列
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-types.html
并使用STR_TO_DATE函数:
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_str-to-date
或者您可以将其转换为unix时间戳并将其插入INT列。