将 jQuery datepicker 插入 MySQL 时遇到问题
Posted
技术标签:
【中文标题】将 jQuery datepicker 插入 MySQL 时遇到问题【英文标题】:Having issues inserting jQuery datepicker into MySQL 【发布时间】:2017-01-04 10:31:46 【问题描述】:我有一个带有 jQuery 日期选择器的调查表,但在将日期插入 mysql 数据库时遇到问题。结果一直都是零。
我的 php 和 MySQL 技能不是很好,因此我们将不胜感激。
数据库中的日期格式是日期时间。
我的代码如下。
<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();
?>
【问题讨论】:
phpmyadmin 中的surveydate 使用了什么数据类型??? 已提供以下解决方案并说明原因。试试这些。 :) 【参考方案1】:如果 surveydate 的 datatype 是 date,您必须使用 'Ymd' 格式输入否则数据库将仅输入为“0000-00-00”。
确保这两种方法中的任何一种都能让您的代码运行得更好。
方法一:改变jquery datpicker本身的数据类型。
$(document).ready(function()
$("#datepicker").datepicker( dateFormat: 'yy-mm-dd' );
);
方法二:在进入数据库时更改日期格式
替换:
$_SESSION['surveydate'] = $_POST['surveydate'];
与:
$_SESSION['surveydate'] = date('Y-m-d',strtotime($_POST['surveydate']));
采用任何一种方法。如果您使用方法 1,则无需遵循方法 2,反之亦然。
【讨论】:
@Phil。如果您已获得解决方案,您可能会接受我的回答作为最佳答案:)。希望你能用这个功劳支持我。 你好@Naresh Kumar.P 是的,你是对的,我刚刚接受了。感谢您的帮助。以上是关于将 jQuery datepicker 插入 MySQL 时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章
使用Codeigniter将jQuery datepicker + timepicker中的值插入MySQL datetime数据类型?