我正在尝试从 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>";
?>
The file_put_contents()函数会覆盖整个文件 - 这就是为什么你每次都只得到最后一条记录的原因。
您可以使用fopen() and 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>";
?>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)