2013-10-07 5 views
2

Я знаю, что в этой теме есть несколько ответов, но я свежий и не могу это сделать. Я установил JQuery UI DatePicker в PHP-код, но когда я отправляю данные на MySql I получить эту ошибку: Incorrect date value: '' for column 'date' at row 1Jquery datepicker mysql date format

<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]' 
?> 

, что я должен изменить, чтобы сделать его работу?

ответ

-1

Здесь Вы можете найти более подробную информацию:

PHP mysql insert date format

Но вы можете попробовать

$sql="INSERT INTO expenses (date) VALUES (date('yyy-mm-dd','$_POST[date]')) 
3

У вас есть несколько вещей неправильно с 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> 

В принципе, вы должны добавить атрибут name в input поле для того, чтобы быть включенным в _POST и _GET запросов, вы должны также закрыть form (но это не остановит его от их размещения)

также , ваши теги body были неправильным способом.

в файле query_insert.php вы должны закончить ВСТАВИТЬ заявление:

$sql="INSERT INTO expenses (date) VALUES ('$_POST[datepicker]' 

должен быть

$sql="INSERT INTO expenses (date) VALUES ('" . $_POST['datepicker'] . "')"; 

Предупреждение: Я хотел бы убедиться, что вы проверить $_POST['datepicker'] перед вставкой хотя

0
dateFormat: 'yy-mm-dd', (OKE) 

php-функция;

$ theValue = ($ theValue! = "")? "" ". $ theValue. "'" : "НОЛЬ";

вход -> 2013-10-6

выход -> '2013-10-6'

Mysql вставить => '2013-10-6'

, и мы сделали.

+1

Вы даже правильно изучили вопрос, почему он не работает? –

+0

- вот в чем его суть, поскольку код в котировках –

+0

«yyyy-mm-dd» для полного 4-значного года –