我的应用程序允许用户将日记条目存储到数据库表中。他们可以使用html输入自由设置所需的日期和时间(因此我不能简单地使用当前时间,因为他们可能想在过去创建一个条目)。
我可以将日期和时间作为POST请求发送。标题如下所示:
action: send_daily_event
weight:
dateAndTime: 2021-06-01 19:08:00
在数据库中,我有一个名为;dailyevents;。它有一列名为;日期和时间“;类型为“;日期时间;。
否则会将数据库条目记录到表中,但对于每个条目,dateAndTime列始终保持0000-00-00 00:00:00。
下面是我的函数的相关部分。php:
function sendDailyEvent(){
//for storing the logged in user name:
global $current_user;
get_currentuserinfo();
$currUserLoginName = $current_user->user_login;
$weight = ($_POST["weight"]);
$dateAndTime = ($_POST["dateAndTime"]);
$sanitizedWeight = sanitize_text_field($weight); /* Checks for problematic things in the string like invalid UTF-8, it converts < characters to entities, strips all tags, removes line breaks, tabs and extra white space. */
global $wpdb;
$result_check = $wpdb->insert(
\'dailyevents\',
array(
\'username\' => $currUserLoginName,
\'dateAndTime\' => $dateAndTime,
\'weight\' => $sanitizedWeight,
),
array(
\'%s\',
\'%s\',
\'%d\',
)
);
if($result_check){ //return the response
echo $result_check;
}else{
echo "something went wrong";
}
exit();
} /* end send daily event */
我的怀疑是,数据库中的datetime列不喜欢我试图给它一个字符串,但我不知道应该如何格式化$dateAndTime变量。