Php 将jQuery datepicker插入MySQL时遇到问题

Php 将jQuery datepicker插入MySQL时遇到问题,php,jquery,mysql,datepicker,Php,Jquery,Mysql,Datepicker,我有一个带有jQuery日期选择器的调查表单,但在将日期插入MySQL数据库时遇到了问题。结果一直都是零 我的PHP和MySQL技能不是很好,所以如果您能帮我一点忙,我将不胜感激 数据库中的日期格式为datetime 我的代码如下 <input type="text" name="surveydate" id="datepicker"> <?php session_start(); // Session starts here. $servername = ""; $use

我有一个带有jQuery日期选择器的调查表单,但在将日期插入MySQL数据库时遇到了问题。结果一直都是零

我的PHP和MySQL技能不是很好,所以如果您能帮我一点忙,我将不胜感激

数据库中的日期格式为datetime

我的代码如下

<input type="text" name="surveydate" id="datepicker">

<?php
session_start(); // Session starts here.

$servername = "";
$username = "";
$password = "";
$dbname = "";

$_SESSION['firstname'] = $_POST['firstname'];
$_SESSION['lastname'] = $_POST['lastname'];
$_SESSION['gender'] = $_POST['gender'];
$_SESSION['postcode'] = $_POST['postcode'];
$_SESSION['surveydate'] = $_POST['surveydate'];

$firstname = $_SESSION['firstname'] ;
$lastname = $_SESSION['lastname'];
$gender = $_SESSION['gender'];
$postcode = $_SESSION['postcode'];
$surveydate= $_SESSION['surveydate'];

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "INSERT INTO results (firstname,lastname,gender,postcode,surveydate)

VALUES ('$firstname','$lastname','$gender','$postcode','$surveydate')";

$today = date("d M Y");

if ($conn->query($sql) === TRUE) {

} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();

?>


由于如果调查日期的数据类型为日期,则必须使用“Y-m-d”格式输入数据库,否则只能输入“0000-00-00”

确保这两种方法中的任何一种,这将发现您的代码工作得更好

方法1:更改jquery数据选择器本身中的数据类型

$(document).ready(function() {
$("#datepicker").datepicker({ dateFormat: 'yy-mm-dd' });
});
方法2:在输入数据库时更改日期格式

替换:

$_SESSION['surveydate'] = $_POST['surveydate'];
与:


采用任何一种方法。如果使用方法1,则无需遵循方法2,反之亦然。

您在phpmyadmin中的surveydate使用了什么数据类型???我们提供了以下解决方案并证明了原因。试试看那些。:)@菲尔。如果你已经得到了答案,你可以接受我的答案作为最佳答案(对:)。希望你能帮我这个忙。你好@Naresh Kumar.P是的,你说得对,我刚刚接受了。谢谢你的帮助。
$_SESSION['surveydate'] = date('Y-m-d',strtotime($_POST['surveydate']));