我有一个简单的过程来使用数据库中的数据创建CSV文件。
if (isset($_POST['submitcsv'])) {
$csvfile = fopen("stardata.csv", "w"); //w=write, r=read, a=append
$datebeginning = date('Y/m/d', strtotime($_POST['datebeginning']));
$query = $pdoace->prepare("SELECT *
FROM `starrisk`
WHERE `testdate` >= ?
AND `site` = '". $_POST['fromlocation'] ."'
ORDER BY `cdcnumber` ASC");
$query->execute(array($datebeginning));
While($row = $query->fetch()) {
for ($x=1; $x<=51; $x++)
{
echo fwrite($csvfile, $row[$x].",");//inside loop;
}
echo fwrite($csvfile, "'r'n");
}
fclose ($csvfile);
echo 'Data Compilation Complete: <a href="stardata.csv">download now...</a>';
}
我得到了一些神秘的数字,这些数字只出现在数据汇编完成(下面)中,似乎与数据本身无关(它由名字、姓氏和一堆-1和1(真-假)组成)。。。
117342222333222233223232233332232332223323233332117672223232323222233322222233233233323233233322222数据编译完成:立即下载
有人有想法吗???
fwrite
之前的echo
将输出写入的字节数。参考:http://php.net/fwrite#refsect1-函数。写返回值
将代码更改为:
while($row = $query->fetch()) {
fputcsv ( $csvfile , $row );
}