Php 无法将datetime从csv插入mysql

Php 无法将datetime从csv插入mysql,php,mysql,datetime,csv,sql-insert,Php,Mysql,Datetime,Csv,Sql Insert,我试图从csv文件中获取一个“datetime”,并将其插入MySql数据库。我做错了什么?提前谢谢 while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $date = new Datetime(); $this->date->format('Y-d-m H:i:s', ($data[3])); $

我试图从csv文件中获取一个“datetime”,并将其插入MySql数据库。我做错了什么?提前谢谢

while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) 
            {
                $date = new Datetime();
                $this->date->format('Y-d-m H:i:s', ($data[3]));

                $sql = "INSERT INTO logs(ID, User, Flag, Date) values('$data[0]', '$data[1]', '$data[2]', '$data[3]')";
                $insert = $this->dataBase->getData($sql);

$date
$this->date
不同,这就是您收到错误的原因:

Notice: Undefined property: Import::$date Fatal error: Call to a member function format() on a non-object

首先,您必须获得日期格式化的值,格式必须是Y-m-d,而不是Y-d-m

$date = new Datetime($data[3]); 
$myDate = $date->format('Y-m-d H:i:s');

$sql = "INSERT INTO logs(ID, User, Flag, Date) values('$data[0]', '$data[1]', '$data[2]', '$myDate')"; 
$insert = $this->dataBase->getData($sql);
让我们为您处理以下问题:


您可能还希望查看和准备语句,以避免SQL注入。

您似乎正在格式化日期,但没有将其传递到字符串中。
$date
!==<代码>$this->date。。。更不用说,如果
$this->date
是一个DateTime对象,那么format()方法语法是错误的。。。。读《友谊报》manual@GordonLinoff你能给我举个如何做的例子吗?我会非常感激的。谢谢你
 INSERT INTO logs(ID, User, Flag, Date) values('$data[0]', '$data[1]', '$data[2]', DATE_FORMAT('$myDate', '%d %b %Y %T:%f'));";