Php 将Sql请求转换为CSV

Php 将Sql请求转换为CSV,php,sql,csv,export-to-csv,Php,Sql,Csv,Export To Csv,(对不起我的英语,请随意纠正我,这里的法国人) 我正在尝试将SQL请求的结果放入.csv文件中,我将按照一些教程和在线论坛的说明进行操作,结果如下: <?php try{ $bdd = new PDO('mysql:host=localhost;dbname=baseontpe;charset=utf8', 'root', '',array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); } catch (Exce

(对不起我的英语,请随意纠正我,这里的法国人) 我正在尝试将SQL请求的结果放入.csv文件中,我将按照一些教程和在线论坛的说明进行操作,结果如下:

<?php
try{
    $bdd = new PDO('mysql:host=localhost;dbname=baseontpe;charset=utf8', 'root', '',array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
    }
    catch (Exception $e){
        die('Erreur : '.$e->getMessage());
    }

$CP=$_GET['CP'];
$Act=$_GET['Act'];

$req = $bdd->prepare('SELECT Nom, Prenom, EMail FROM b2b WHERE CP LIKE ? AND Activiteft LIKE ?');
$req->execute(array($CP.'%','%'.$Act.'%'));

$handle = fopen('test.csv', 'w');
$req->setFetchMode(PDO::FETCH_ASSOC);
while($donnees = $req->fetch()) {
    fputcsv($handle, $donnees, ';');
}
$req->closeCursor();
fclose($handle);

header("Content-Type: text/csv;charset=utf-8");
header('Content-Disposition: attachment;filename=test.csv');
?>

但是我用这段代码得到的结果不是很令人满意。。。就像这样的一句话:

ÐÏÏa;  þÿ                          þÿÿÿ    þÿÿÿ        ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ5月5日的5月5日的5 5 5日日的5 5 5 5 5日的5 5 5 5日的5 5 5日的5 5 5 5日的5 5 5 5日的5 5 5日日的5 5 5 5日日的5 5 5日的5 5 5 5日的5 5 5 5日的5 5 5 5日日的5 5 5 5 5日日的5 5 5 5日日的5 5 5日的5 5 5日日的5 5 5 5 5日日的5 5日的5日的5 5 5日的5 5日的5 5日日的5 5 5日的5日的5 5 5日日的5 5 5 5日的5日的5 5 5日的5 5日的5 5 5 5 5日日日的5 5日的5日的5 5 5 5 5日日的5日的5 5日日的5 5 5 5日的5 5 5 5 5日的5 5 5 5 5 5 5 5 5 5 5日日的5日日日日日的5日日日的五、五、五、五、五、五、五、五、五 o t n t r y ÿÿÿÿÿÿÿÿÿÿÿÿ                                    þÿÿÿ                                                                            ÿÿÿÿÿÿÿÿÿÿÿÿ                                    þÿÿÿ                                                                            ÿÿÿÿÿÿÿÿÿÿÿÿ                                    ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ


有什么建议吗?我现在真的被卡住了:(

最好改为使用select-in-to-file方法

SELECT Nom, Prenom, EMail FROM b2b WHERE CP LIKE ? AND Activiteft LIKE ? INTO OUTFILE '/tmp/b2b.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'

改为使用select in to file方法会更好吗

SELECT Nom, Prenom, EMail FROM b2b WHERE CP LIKE ? AND Activiteft LIKE ? INTO OUTFILE '/tmp/b2b.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'

可能尝试不同的字符集?我甚至不确定这个字符集在这里是否有用,当我删除它或放置另一个字符集时,它不会改变任何东西。可能尝试不同的字符集?我甚至不确定这个字符集在这里是否有用,当我删除它或放置另一个字符集时,它不会改变任何东西