首页 > 解决方案 > 无法使用 PHP 从 Oracle 数据库写入我的 csv 文件

问题描述

我想我正确使用了 fputcsv。我的数据库表包含两列,两列中都有日期和数字。我使用一个 oracle 数据库和一个 windows 2008 服务器。

//Connexion BDD Oracle
$connect = odbc_connect("oraclesrc", "xe", "sec123");

$query = "select * from timedata";

$result = odbc_exec($connect, $query);

$numOF = 0;
while(odbc_fetch_row($result)) {
    $emp = odbc_result($result, 1);
    $time = odbc_result($result, 2);
    $numOF++;
    echo $emp; 
    echo $time;     
}

$fp = fopen('testfile.csv', 'w');
foreach ($row as $result) {
    fputcsv($fp, $result);
}
fclose($fp);

odbc_close($connect);

标签: phporaclecsvodbcfputcsv

解决方案


while 循环一次获取一个结果行。如果您更改为使用odbc_fetch_array($result),您将获得一个 Assoc 数组,与您fputcsv()想看到的完全一样。

//Connexion BDD Oracle
$connect = odbc_connect("oraclesrc", "xe", "sec123");
$query = "select * from timedata";
$result = odbc_exec($connect, $query);

$fp = fopen('testfile.csv', 'w');

while($row = odbc_fetch_array($result)) {
    fputcsv($fp, $row);
}
fclose($fp);
odbc_close($connect);

推荐阅读