使用准备好的语句时如何指定日期作为输入

问题描述

我有以下代码

if(isset($_POST['submit'])){
$activityID = MysqLi_real_escape_string($_POST['activityID']);
$date_of_activity = MysqLi_real_escape_string($_POST['date']);
$number_of_tickets = MysqLi_real_escape_string($_POST['number_of_tickets']);
$db_id = MysqLi_real_escape_string($_POST['customerID']);


$sql2 = "INSERT INTO booked_activities(activityID,customerID,date_of_activity,number_of_tickets)
   VALUES (?,?,?);";

$stmt = MysqLi_stmt_init($connection);
 if(!MysqLi_stmt_prepare($stmt,$sql2)){
  echo "sql error";
} else {
  MysqLi_stmt_bind_param($stmt,"iiii",$activityID,$db_id,$date_of_activity,$number_of_tickets);
  MysqLi_stmt_execute($stmt);
}

$bookedresult = MysqLi_query($connection,$sql2);

if(!$bookedresult){
echo 'Query Failed ' . MysqLi_error($connection); //test for primary duplicate;
 } else if ($bookedresult) {
 echo "booking registered";
}

}

我想首先知道在这种情况下是否需要使用 real_esc_string ? 此外,当我提交表单时,我的 if 语句没有收到任何错误消息,但另外表格没有填充。

我唯一的想法是我作为 iiii 的输入格式不正确。我已经尝试过 ssss 并且得到了相同的结果。

我想也许我需要 i(date)ii - 如果需要,在准备好的语句中指定日期时间的语法是什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)