将SQL查询结果写入文本文件

时间:2012-02-18 23:46:56

标签: php sql fopen fwrite

我试图将SQL查询的结果写入文本文件。写作工作正常,但我希望能够一次写入所有条目,然后添加
所有尚未包含在文件中的条目。请问您知道如何实现这一目标吗?

  $t = mysql_query("SELECT text FROM transactions")
      or die("SELECT Error: ".mysql_error());


print "<table width=300 border=1>\n";
while ($get_info = mysql_fetch_row($t)){

$class = $op->classify($field); 

print "<tr>\n";
print "\t<td>Transaction</td>\n";
foreach ($get_info as $field)
print "\t<td>$field</td>\n";
print "\t<td>Type</td>\n";
foreach ($get_info as $field)
print "\t<td>$class</td>\n";
print "</tr>\n";


if ($class == "pos")
{
$filep = "positive.txt"; 
$handlep = fopen($filep, 'a');
$data = "$field\n";
fwrite($handlep, $data);

fclose($handlep); 


}
if ($class == "neg") {

$filen = "negative.txt"; 
$handlen = fopen($filen, 'a');
$datan = "$field\n";
fwrite($handlen, $datan);

fclose($handlen);

}

1 个答案:

答案 0 :(得分:1)

首先,我无法想象为什么你会希望这样做,但这就是我将如何做到的。

对于每条记录,还在其中一列中存储时间戳。每当您向DB查询要写入的新记录时,您都会执行一个查询,该查询仅捕获时间戳晚于平面文件上次修改时间的记录。平面文件当然是您正在写入的文件。

您可以使用简单的filemtime($ filename)来获取文件的上次修改时间。

http://php.net/manual/en/function.filemtime.php

您可能希望在附加文件之前锁定该文件,具体取决于这些写入的触发方式。