我知道这个话题有一些答案,但我很新鲜,无法做到我已经将Jquery UI DatePicker嵌入到PHP代码中,但是当我将数据发送到MySql时,我收到此错误:Incorrect date value: '' for column 'date' at row 1
<html>
<head>
<script>
$(document).ready(function() {
$("#datepicker").datepicker({
dateFormat: 'yy-mm-dd'
});
})
</script>
</head>
</body>
<form action="query_insert.php" method="post">
<input type="text" id="datepicker">
<body>
query_insert.php:
<?php
$con = mysqli_connect("127.0.0.1", "root", "user", "pass");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="INSERT INTO expenses (date) VALUES ('$_POST[datepicker]'
?>
我必须更改什么才能使其正常工作?
你的html有很多问题。
</body>
<form action="query_insert.php" method="post">
<input type="text" id="datepicker">
<body>
应该是
<body>
<form action="query_insert.php" method="post">
<input type="text" id="datepicker" name="datepicker">
<input type="submit" value="INSERT DATE">
</form>
</body>
基本上,您必须在input
字段中添加一个name
属性才能将其包含在_POST
和_GET
请求中,您还应该关闭form
(但这不会阻止它被发布)
此外,您的body
标签是错误的。
在query_insert.php
文件中,您需要完成 INSERT 语句:
$sql="INSERT INTO expenses (date) VALUES ('$_POST[datepicker]'
应该是
$sql="INSERT INTO expenses (date) VALUES ('" . $_POST['datepicker'] . "')";
警告:我会确保在插入之前验证$_POST['datepicker']
dateFormat: 'yy-mm-dd', (OKE)
PHP函数;
$theValue = ($theValue != ") ? "'" . $theValue ."'" : "空";
输入 -> 2013-10-6
输出 -> '2013-10-6'
Mysql 插入 => '2013-10-6'
我们完成了..
在这里您可以找到更多信息:
PHP mysql 插入日期格式
但你可以试试
$sql="INSERT INTO expenses (date) VALUES ( date('yyy-mm-dd','$_POST[date]'))