转换数组中的日期时间 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]
约会
上传包含日期的 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]