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

标签 php sql text-files

我试图从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/

相关文章:

sql - SQLite DISTINCT结果不一致

使用 C 计算 ASCII 文件中的行数

java - 没有错误,那么为什么 ObservableList 在这个项目中不起作用?

php - 获取行数

php - 使用数字作为关联数组键

javascript - 无法从服务器端获取数组

MySQL - 加入同一张表两次

mysql - 优化 MySQL 查询性能

php - CakePHP 3 保存 BelongsToMany 关联未知类型 ""错误

java - 当我想使用Java读取文本文件,并且java文件和文本文件在同一个文件夹中时,如何寻址路径