我一直在阅读有关如何格式化字符串日期的线程,但它不会添加日期。相反,它只是添加0000-00-00。怎么不格式化字符串日期?
$ date变量可以例如等于10/10/2014
$date = str_replace('.', '-', $undate);
$timestamp = strtotime($date);
$newdate = date("Y-m-d", $timestamp);
$wpdb->query("INSERT INTO " . $your_db_name . "
(date, time, hometeam, awayteam, score)
VALUES ($newdate, '$time', '$opp1', '$opp2', '$score')");
答案 0 :(得分:1)
如果您已经获得了正确的日期格式Y-m-d
,那么还需要引用这些格式:
VALUES ('$newdate', '$time', '$opp1', '$opp2', '$score')
@ hakre对以下评论的建议。它还有一个准备好的语句包装器,也可以用它来获得更安全的查询:
$prepared_statement = $wpdb->prepare("
INSERT INTO $your_db_name
(date, time, hometeam, awayteam, score)
VALUES ( %s, %s, %s, %s, %s )
",
$newdate
$time,
$opp1,
$opp2,
$score
);
$wpdb->query($prepared_statement);
如果此$your_db_name
(很可能是表名)也是用户输入,则需要将此列入白名单,因为您无法绑定表名。具有预定义表名的简单in_array()
就足够了。