小编典典

从SQL中提取数据,然后写入文本文件

sql

我试图从SQL中提取数据,然后将其写入文本文件。这在一定程度上做到了这一点, 但它仅从读取test:test<br>文本文件
的表中拉出1

我希望能够从表中提取所有数据,然后以诸如此类的列表格式发布到文本文件中…

    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>";
?>

阅读 435

收藏
2021-03-23

共1个答案

小编典典

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>";
?>
2021-03-23