关于使用 mysqli_stmt_bind_param 时日期格式的问题

Question about Date format when you use mysqli_stmt_bind_param

我从 DatePickerDialog 获取 Date 的值并想通过 Volley 发送它。

日期变量 --> 日期 community_Date

我请求了以下代码

这是我的 PHP 代码。

<?php

    $con=mysqli_connect("localhost", "",
                       "","");
    error_reporting(E_ALL);
    mysqli_query($con, 'SET NAMES utf8');

    $Name = $_POST["Name"];
    $place = $_POST["place"];
    $Number = $_POST["Number"];
    $Date = $_POST["Date"];
    $startTime = $_POST["startTime"];
    $finishTime = $_POST["finishTime"];

    $statement = mysqli_prepare($con, "INSERT INTO community_Register VALUES (?,?,?,?,?,?)");
    mysqli_stmt_bind_param($statement, "ssidii", $Name,$place, $Number, $Date, $startTime, $finishTime);

?>

我想知道我应该输入哪种日期格式 mysqli_stmt_bind_param($statment, "ssidii" <-- this point

我想改变“d”

您应该始终使用 s。所以在你的情况下 ssssss.

mysqli_stmt_bind_param($statement, "ssssss", $Name,$place, $Number, $Date, $startTime, $finishTime);

日期应为格式为 Y-m-dY-m-d H:i:s

的字符串

d in bind_param() 代表双精度,它代表数字而不是日期。

如果需要格式化日期可以使用 DateTime class

$Date = (new \DateTime($_POST["Date"]))->format('Y-m-d');