将字符串日期格式化为 mysql 日期
formatting string date into mysql date
我一直在这里阅读有关如何格式化字符串日期的主题,但它不会添加日期。相反,它只是添加 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')");
如果您已经得到正确的日期格式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
(很可能是 table 名称)也是用户输入,您需要将其列入白名单,因为您无法绑定 table 名称。带有预定义 table 名称的简单 in_array()
就足够了。
我一直在这里阅读有关如何格式化字符串日期的主题,但它不会添加日期。相反,它只是添加 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')");
如果您已经得到正确的日期格式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
(很可能是 table 名称)也是用户输入,您需要将其列入白名单,因为您无法绑定 table 名称。带有预定义 table 名称的简单 in_array()
就足够了。