将jQuery datepicker插入MySQL时遇到问题

时间:2016-08-28 06:18:33

标签: php jquery mysql datepicker

我有一个带有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();

?>

1 个答案:

答案 0 :(得分:1)

由于 surveydate 数据类型 日期,您必须使用'Ymd'格式输入DB其他方面它只会作为'0000-00-00'进入。

  

确保这两种方法中的任何一种都能让您的代码更好地运行。

方法1:更改jquery datpicker本身的数据类型。

$(document).ready(function() {
$("#datepicker").datepicker({ dateFormat: 'yy-mm-dd' });
});

方法2:在进入数据库时​​更改日期格式

替换:

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

使用:

$_SESSION['surveydate'] = date('Y-m-d',strtotime($_POST['surveydate']));

采用任何一种方法。如果您使用method1,则无需按照方法2执行,反之亦然。