我正在尝试插入日期&时间但错误显示
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'>×</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'
请通过编辑代码并解决问题来帮助我
答案 0 :(得分:0)
如果列'vdate'的类型是DATETIME,那么你需要在插入之前转换它
<?php $vdate = date("Y-m-d H:i:s", time()) ?>