转换数组中的日期时间 PHP

Convert Datetime in array for PHP

上传包含日期的 csv 文件失败。 上传的 csv 文件 w/o 日期,数据保存在数据库中,但还有另一个错误:- 此结果索引中没有可用的元组....

SQL 状态 22008:我想是因为它无法读取我的日期格式。 我当前的 csv 格式是这样的:- 04/02/2017..

有什么方法可以转换数组中的日期格式吗?

我尝试在数组中使用 "date('d/m/Y',strtotime($dateRecorded))" 格式进行转换,但它不起作用。

include('../db_conn.php');
  $output = '';  
  $allowed_ext = array("csv");  
  $extension = end(explode(".", $_FILES["employee_file"]["name"]));  
  if(in_array($extension, $allowed_ext))  
  {  
       $file_data = fopen($_FILES["employee_file"]["tmp_name"], 'r');  
       fgetcsv($file_data);  
       while($row = fgetcsv($file_data))  
       {  
           $accnum = addslashes($row[0]);  
           $dedate = addslashes($row[1]); //deposit date  
           $transcode = addslashes($row[2]);  
           $amount = addslashes($row[3]);  
           $reffno = addslashes($row[4]);  
           $remarks = addslashes($row[5]);      
  $query = odbc_exec("INSERT INTO accdetails VALUES(   '0','','".$accnum."','".$dedate."','".$transcode."','".$amount."','".$reffno."','".$remarks."','','','','','')"); 
            $result = odbc_fetch_array($query); 

我收到这个错误:-

SQL 错误:[Informix][Informix ODBC 驱动程序][Informix]日期时间或间隔中的非数字字符。,SQL 状态 22008


我已经检查了我的插入查询,但我看不到任何多个结果已经产生,这是因为我的 while 循环吗?

以前我使用 odbc_fetch_array... 但是当我用谷歌搜索时,他们说用 odbc_next_result 替换它。但做了但同样的事情发生了。

  $select2 = odbc_exec("SELECT * FROM accdetails ORDER BY spiid ASC");  
       $result2 = odbc_fetch_array($select2);  
       $output .= '  
            <table class="table table-bordered">  
                 <tr>  
                           <th>ID</th>  
                           <th>File Name</th>  
                           <th>Acc No</th>  
                           <th>Depo Date </th>
                           <th>Trans Code</th>  
                           <th>Amount</th>  
                           <th>Reff No</th>  
                           <th>Remarks</th> 
                 </tr>  
                    ';  
       while($row =  odbc_next_result($result2))  
       {  
            $output .= '  
                    <tr>  
                           <td>'.$row["spiid"].'</td>  
                           <td>'. $row["spifilename"].'</td>  
                           <td>'.$row["spiaccountno"].'</td>  
                           <td>'.$row["spidepositdate"].'</td>                                
                           <td>'.$row["spitranscode"].'</td>  
                           <td>'. $row["spiamount"].'</td>  
                           <td>'.$row["spireferenceno"].'</td>  
                           <td>'.$row["spiremarks"].'</td>
                 </tr>  
            ';  
       }  
       $output .= '</table>';  
       echo $output;  
  }  

MySQL 日期应为 YYYY-mm-dd 格式。

所以你需要改变

$dedate = addslashes($row[1]);

来自

$dedate = date( 'Y-m-d H:i:s', $row[1] );

希望你能在$row[1]

约会