通过PHP在MySQL中插入时的Invalide DateTime格式

时间:2017-09-16 15:41:55

标签: php mysql datetime

我正在尝试插入日期&时间但错误显示

  

SQLSTATE [22007]:无效的日期时间格式:1292时间值不正确:第1行第'vdate'列的'1505572990'

请通过编辑代码并解决问题来帮助我

我的代码:

class.php

<?php
require_once 'db.php';
require_once 'lang.php';

class USER
{   

    private $conn;

    public function __construct()
    {
        $database = new Database();
        $db = $database->dbConnection();
        $this->conn = $db;
    }

    public function runQuery($sql)
    {
        $stmt = $this->conn->prepare($sql);
        return $stmt;
    }

    public function lasdID()
    {
        $stmt = $this->conn->lastInsertId();
        return $stmt;
    }

    public function register($uname)
    {
        try
        {                           

            $stmt = $this->conn->prepare("INSERT INTO validation(vdate) 
                                                         VALUES(:user_name)");
            $stmt->bindparam(":user_name",$uname);
            $stmt->execute();   
            return $stmt;
        }
        catch(PDOException $ex)
        {
            echo $ex->getMessage();
        }
    }
}

的index.php

<?php
session_start();
require_once 'class.php';
$reg_user = new USER();

if(isset($_POST['btn-signup']))
{
    $uname = time();


        if($reg_user->register($uname))
        {           
            $msg = "
                    <div class='alert alert-success'>
                        <button class='close' data-dismiss='alert'>&times;</button>
                        <strong>Success!</strong> To activate your account, you need to verify your email. We have sent a verify link at <strong></strong>.
                    </div>
                    ";
        }

        else
        {
            echo "sorry , Query could no execute...";
        }       
    }
?>

当用户点击按钮时,我唯一想要的是它应该在MySQL中插入date&time

我尝试了上面的代码,但它显示了错误

  

SQLSTATE [22007]:无效的DateTime格式:1292时间值不正确:第1行第'vdate'列的'1505572990'

请通过编辑代码并解决问题来帮助我

1 个答案:

答案 0 :(得分:0)

如果列'vdate'的类型是DATETIME,那么你需要在插入之前转换它

<?php $vdate = date("Y-m-d H:i:s", time()) ?>