php - 使用 odbc 将 SQL 查询转换为 csv

标签 php sql odbc

我正在尝试使用 php 的 odbc 连接从场外 Miscrosoft SQL 数据库获取数据,将针对其的某些查询转换为数组,然后将这些数组转换为我的 cms 可以读取和导入的 csv。我能够成功连接数据库并返回一些结果,但我缺乏 php 和 SQL 技能,这让我很沮丧。

我现在拥有的东西不多,但做了它应该做的事情:

    $result = odbc_tables($connect);

    $tables = array();

    while (odbc_fetch_row($result))
    {
        if(odbc_result($result,"TABLE_TYPE")=="TABLE")
        echo"<br>".odbc_result($result,"TABLE_NAME");

    }

网络上有关于如何做我想做的事情的明确资源吗?官方 php 文档似乎是有史以来最无用的文档。一个基本示例:我想将此处的条目返回为 csv 格式。我可以以数组格式获取它们:

$query = "SELECT TOP 10 * FROM Communities"; 

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

    if ( $result )
    {
        while ( ($row = odbc_fetch_array($result)) )
        {
            print_r($row);
        }
        odbc_free_result($result);
    }
    else 
    {
        echo 'Exec error: ' . odbc_errormsg();
    }

    odbc_close($conn);

希望我有更多,但我有点迷失下一步该去哪里。

最佳答案

根据提示,以下是可行的解决方案:

$theArray = array();

while ( ($row = odbc_fetch_array($result)) )
{
    array_push($theArray, $row);
}


$header = array('Name', 'Hours', 'Fees', 'Notes', 'ShortDescription', 'URL');

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

fputcsv($fp, $header);

foreach ($theArray as $lines) 
{

    fputcsv($fp, $lines);

}

关于php - 使用 odbc 将 SQL 查询转换为 csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17268143/

相关文章:

php - jQuery POST 多维表单数组

php - 什么更有效?在php代码中进行sql查询还是将数据发送到php代码?

php - 如何排除 MySQL 查询中的匹配记录?

SQL - 将时间设置为明天上午 8 点

mysql - 如何在 SQL 条件下将 INT 转换为 VARCHAR

c++ - 通过 ODBC C++ 将带有日期时间的记录插入 SQL Server 2014 的问题

java - 如何在我的 PHP 和 Java/Play Framework 应用程序之间共享一个 Apache 实例?

mysql - 如何在phpmyadmin中创建两列的数据库结构?

java - Jdbc Odbc 错误。我无法连接到 ODBC 驱动程序

macos - 在 OS X 10.9 上构建 OTP 18.3 "ODBC library - header check failed"