【问题标题】:insert 'input type text' as date to mysql data base using php使用php将“输入类型文本”作为日期插入mysql数据库
【发布时间】:2014-12-06 15:35:54
【问题描述】:

我正在尝试将数据从 html 输入表单插入到 mysql 数据库。在我的 html 表单中,输入类型是“文本”,而我的 mysql 数据库类型是“日期”。在尝试将数据插入到我的 sql 中的相应字段时,仅插入空值。请帮忙。我的 html 脚本和 php/mysql 插入脚本正在附加。

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","pra@181178","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);
?>

【问题讨论】:

  • 您可以使用strtotime 函数,但主要问题是您使用文本插入时间。如果我是你,我会改变它。

标签: php mysql date-format


【解决方案1】:

在我的网站上,我有像你这样的数据。我使用输入类型=“数据”将它们插入数据库,我没有问题。插入查询将所选数据的值正确放入^^。 使用 type="data" 如果你点击输入,你会看到一个小日历。

【讨论】:

    【解决方案2】:

    这样的事情应该可以工作:

    <?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 开始)或日期选择器(推荐!)。

    【讨论】:

    • 感谢您的帮助。它按预期工作。我只是编程初学者,感谢您的支持和建议。
    猜你喜欢
    • 2020-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-20
    • 2019-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多