2014-03-04 44 views
0

我试图从MySQL数据库中获取数据并将其保存为.csv格式使用PHP。但没有运气。它不会将查询输出保存为.csv格式。我的代码中是否有任何问题,或者有解决方案吗?Mysql的查询结果是不是保存文件为CSV格式使用PHP

感谢您的帮助。

<?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 

?> 
+0

什么是$ result-> fetch-array()?实际上'$ result'是什么? –

回答

0

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

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

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

+0

我正在尝试.. – Babu

+0

有一个错字,在mysql_fetch_assoc之前有一个'$',这是错误的 – CodeBird

+0

在我的查询中哪里? – Babu

相关问题