2014-10-11 3 views
0

Я пытаюсь вставить данные из формы ввода html в базу данных mysql. В моей форме html тип ввода - это «текст», а мой тип базы данных mysql - «дата». пытаясь вставить данные в соответствующее поле в моем sql, вставив только нулевое значение. пожалуйста помоги. мой скрипт html и скрипт вставки php/mysql.Вставить 'input type text' в качестве даты в базу данных mysql, используя php

HTML

<div class="form-group"> 
<div class="input-group col-sm-4"> 
    <div class="input-group-addon">Payment Due Date&nbsp;&nbsp;<i class="fa fa-calendar-o"></i></div> 
    <input id ="duedt" class="form-control" type="text" name ="due_date" required/> 
</div> 

PHP MySQL код

 <?php 
$con=mysqli_connect("localhost","root","[email protected]","ayrilmana"); 
// Check connection 
if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 
$sql= "INSERT INTO dlbcc_purchase (purch_date, purch_amt, purch_dtls,due_date) 
VALUES 
('$_POST[purch_date]','$_POST[purch_amt]','$_POST[purch_dtls]','$_POST[due_date]')"; 

if (!mysqli_query($con,$sql)) 
    { 
    die('Error: ' . mysqli_error($con)); 
    } 

//echo "1 record added"; 
Header("Location: purchase.php"); 

mysqli_close($con); 
?> 
+1

Вы можете использовать функцию [strtotime] (http://php.net/manual/en/function.strtotime.php), но основная проблема заключается в том, что вы используете текст для вставки времени. Я бы изменил это, если бы был вами. –

ответ

0

Что-то, как это должно работать:

<?php 
//Open MySQL onnection 

$sql = "INSERT INTO dlbcc_purchase (purch_date, purch_amt, purch_dtls, due_date) VALUES ('" . $_POST['purch_date'] . "', '" .$_POST['purch_amt'] . "','" . $_POST['purch_dtls'] . "','" . date('Y-m-d', strtotime($_POST['due_date'])) . "')"; 

if (!mysqli_query($con, $sql)) { 
    die('Error: ' . mysqli_error($con)); 
} 

//close MySQL connection and other code 
?> 

Обратите внимание на некоторые вещи:

  • Вы уязвимы для инъекций MySQL. См. How can I prevent SQL-injection in PHP?.
  • Улучшите обработку ошибок, а не die() или exit().
  • Дата может быть неправильной или нулевой, поскольку PHP «пытается» преобразовать ее в временную метку Unix, а затем преобразовать ее обратно в формат даты MySQL.
  • Лучше всего использовать тип «дата» в вашей HTML-форме (с HTML5) или датпикер (рекомендуется!) Для этого.
+0

спасибо за помощь. Он работал, как ожидалось. Я просто начинаю программировать, спасибо за поддержку и советы. –

1

На моем сайте у меня есть такие данные, как вы. Я вставляю их в базу данных, используя input type = "data", и у меня нет проблем. Запрос вставки помещает значение выбранных данных без ошибок ^^. Используя type = "data", вы увидите небольшой календарь, если вы нажмете на вход.

Смежные вопросы