我试图从SQL中提取数据,然后将其写入文本文件。这样做在一定程度上做到了这一点,但它只从表中拉1,该表在文本文件上读取test:test<br>
。
我希望能够提取所有数据
从表,然后发布到
列表格式的文本文件,例如
这个...
test:test
test2:test2
test3:test3
我需要找出我做错了什么。
<?php
$sql = mysql_query("SELECT * FROM _$setprofile ORDER BY fc DESC");
while($row = mysql_fetch_array($sql)){
$user = $row['user'];
$pass = $row['pass'];
$accounts = "$user:$pass<br>";
//Functionsss!
$file = "backups/$newcode.txt";
file_put_contents($file, $accounts);
}
echo "<a href=backups/$newcode.txt>TEST!</a>";
?>
最佳答案
file_put_contents()
函数会覆盖整个文件-这就是为什么每次都只获得最后一条记录的原因。
您可以改用fopen()
和fwrite()
。
尽管比构建一个大字符串并使用一次对file_put_contents
的调用要复杂一些,但是如果您有很多记录,这也不会耗尽内存。
<?php
$file = "backups/$newcode.txt";
$f = fopen($file, 'w'); // Open in write mode
$sql = mysql_query("SELECT * FROM _$setprofile ORDER BY fc DESC");
while($row = mysql_fetch_array($sql))
{
$user = $row['user'];
$pass = $row['pass'];
$accounts = "$user:$pass<br>";
// Or "$user:$pass\n" as @Benjamin Cox points out
fwrite($f, $accounts);
}
fclose($f);
echo "<a href=backups/$newcode.txt>TEST!</a>";
?>
关于php - 从SQL中提取数据,然后写入文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1711460/