php - Mysql查询结果未使用php将文件保存为csv格式

标签 php mysql

我正在尝试从 mysql 数据库获取数据并使用 php 将其保存为 .csv 格式。但没有运气。它不会将查询输出保存为 .csv 格式。我的代码有什么问题或者有什么解决方案可以解决吗?

感谢您的帮助。

<?php
// Database Connection
$host="host..";
$uname="username..";
$pass="password...";
$database = "database...."; 

$sqlagentdetails = "select * from users WHERE company_name != ''";
$rowresult = mysql_query($sqlagentdetails); 
while($row = mysql_fetch_array($rowresult, MYSQL_ASSOC))
{
    $pc1 = $row['pc1'];
    $pc2 = $row['pc2'];
    $pc3 = $row['pc3'];
    $pc4 = $row['pc4'];                      
    $emailAgent = $row['user_email'];                      
    $user_id = $row['id'];


$myQuery =  mysql_query("
 SELECT * 
   FROM user_property upr 
  WHERE (postcode = '$pc1' OR
         postcode = '$pc2' OR
         postcode = '$pc3' OR
         postcode = '$pc4') AND
         datediff(CURDATE(), upr.creation_date) <= 7 AND
         NOT EXISTS(SELECT ofr.property_id 
                      FROM offers ofr 
                     WHERE ofr.property_id = upr.property_id AND
                           ofr.agent_id IN(SELECT id 
                                             FROM users 
                                            WHERE company_name !=''
                                          )
                   )
ORDER BY property_id DESC");


if (!$result) die('Couldn\'t fetch records');
$num_fields = mysql_num_fields($result);
$headers = array();

for ($i = 0; $i < $num_fields; $i++) {
    $headers[] = mysql_field_name($result , $i);
}

$fp = fopen('php://output', 'w');

if ($fp && $result) {
    header('Content-Type: text/csv');
    header('Content-Disposition: attachment; filename="export.csv"');
    header('Pragma: no-cache');
    header('Expires: 0');
    fputcsv($fp, $headers);
    while ($row = $result->fetch_array(MYSQLI_NUM)) {
        fputcsv($fp, array_values($row));
    }
    die;
}

}// first while statement

?>

最佳答案

MYSQLI_NUM 在这里做什么?什么是$result?尝试:

 while ($row = mysql_fetch_assoc($myQuery)) {
    fputcsv($fp, array_values($row));
 }

您应该停止使用 mysql_* 函数,因为它们已被弃用。查看PDOmysqli

关于php - Mysql查询结果未使用php将文件保存为csv格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22170841/

相关文章:

php - 在连接字段中以任意顺序过滤具有多个单词的 mySQL 数据库

php - 具有 PNG 扩展名的动态 PHP 图像

mysql - 表引用的顺序在 MySQL 中重要吗?

php - array_unique 只给我一个结果

mysql - Talend Open Studio for MDM - 与数据库的连接

php - Laravel 5.1 在事务 block 中重定向

php - 在 wordpress 主题中使用很棒的字体

php - 如何获取在我的网站上发帖的用户的地理区域并将其存储在数据库中

php - 在下一个链接分页中传递查询 - php

mysql - Ubuntu:我无法正常运行 mysql 甚至无法重新安装它