Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 插入前将字符串转换为mysql日期格式_Php_Mysql_Date_Datetime - Fatal编程技术网

Php 插入前将字符串转换为mysql日期格式

Php 插入前将字符串转换为mysql日期格式,php,mysql,date,datetime,Php,Mysql,Date,Datetime,我有一个表单,用于上传一个.csv文件以在mysql表中插入数据。该文件具有格式为“dd/mm/yyy”的日期列。但是,我想以mysql日期格式“yyyy-mm-dd”插入此日期字符串。到目前为止,我有以下代码。 //parse data from csv file line by line while(($line = fgetcsv($csvFile)) !== FALSE){ //insert member data into database


我有一个表单,用于上传一个.csv文件以在mysql表中插入数据。该文件具有格式为“dd/mm/yyy”的日期列。但是,我想以mysql日期格式“yyyy-mm-dd”插入此日期字符串。到目前为止,我有以下代码。

//parse data from csv file line by line
        while(($line = fgetcsv($csvFile)) !== FALSE){
         //insert member data into database
         $db->query("INSERT INTO txns (txn_date, description, amount, status) VALUES ('".$line[0]."','".$line[1]."','".$line[2]."','".$line[3]."','".$line[3]."')");
            }
        }

        //close opened csv file
        fclose($csvFile);
请帮助将日期字符串转换为mysql日期(yyyy-mm-dd)格式。

尝试以下操作:

$date = date('Y-m-d', strtotime($line[0]));  
// convert date to yyyy-mm-dd

并使用$date作为列txn_date

的值,您可以这样做:

$var = '05/01/2017';
$date = str_replace('/', '-', $var);
$result = date('Y-m-d', strtotime($date));
产出:2017-01-05

// date in dd/mm/yyyy format
$date = "05/01/2017"; 

//Explode by / to get an array with day, month, year in separate indexes
$dateArray = explode("/", $date); 

//Concatenate year, month and day into any format you want. 
$newDate = $dateArray[2] . "-" . $dateArray[1] . "-" . $dateArray[0]; 

您可以为此创建一个函数。

让我们不要使用诸如加载数据填充之类的内置功能,而是尝试重新设计轮子,同时让上载者有机会执行sql注入攻击。@e4c5 Hmm您可以让
加载数据填充
自动进行日期转换吗?取决于文本,是的@RiggsFolly你能做到