php从db字段中检索所有数据并存储到文件中

php从db字段中检索所有数据并存储到文件中,php,Php,我有一个名为users的表和一个名为email的字段 我想检索此字段中的所有电子邮件,然后将它们存储在一个文件中 $data=$db->query("select * from users order by userid desc"); while($row=$data->fetch_assoc()){ $string=$row['email'].","; file_put_contents("data.txt",$string); } 我尝试使用while循

我有一个名为users的表和一个名为email的字段

我想检索此字段中的所有电子邮件,然后将它们存储在一个文件中

$data=$db->query("select * from users order by userid desc");

 while($row=$data->fetch_assoc()){
 $string=$row['email'].",";
    file_put_contents("data.txt",$string);
    }
我尝试使用while循环,然后使用file\u put\u contents,但这只保存第一列,而不保存整个数据

如何将从while循环检索到的所有电子邮件存储在一个文件中

$data=$db->query("select * from users order by userid desc");

 while($row=$data->fetch_assoc()){
 $string=$row['email'].",";
    file_put_contents("data.txt",$string);
    }

你最好还是

$data = $db->query("select * from users order by userid desc");

$emails = array();
while ($row = $data->fetch_assoc()) {
    $emails[] = $row['email'];
}

file_put_contents("data.txt", implode(', ', $emails));

你最好还是

$data = $db->query("select * from users order by userid desc");

$emails = array();
while ($row = $data->fetch_assoc()) {
    $emails[] = $row['email'];
}

file_put_contents("data.txt", implode(', ', $emails));

我认为最好将file\u put\u内容移出while循环,并在将所有数据收集到字符串中后只调用一次

试试这个:

$data=$db->query("select * from users order by userid desc");

$string="";
while($row=$data->fetch_assoc()){
    $string .= $row['email'].",";
}

file_put_contents("data.txt",$string);
附言:

如果通常要将数据附加到文件,则应使用

file_put_contents("data.txt",$string,FILE_APPEND);

我认为最好将file\u put\u内容移出while循环,并在将所有数据收集到字符串中后只调用一次

试试这个:

$data=$db->query("select * from users order by userid desc");

$string="";
while($row=$data->fetch_assoc()){
    $string .= $row['email'].",";
}

file_put_contents("data.txt",$string);
附言:

如果通常要将数据附加到文件,则应使用

file_put_contents("data.txt",$string,FILE_APPEND);

您可以使用MySQL内置函数将数据导出到文件中

 SELECT * FROM `table_name` INTO OUTFILE /path/file.txt
如果你想导入,就这样做

 LOAD DATA INFILE '/path/file.txt' INTO TABLE db2.my_table;

您可以使用MySQL内置函数将数据导出到文件中

 SELECT * FROM `table_name` INTO OUTFILE /path/file.txt
如果你想导入,就这样做

 LOAD DATA INFILE '/path/file.txt' INTO TABLE db2.my_table;

我想,你想要这个:

file_put_contents("data.txt", $string, FILE_APPEND);

我想,你想要这个:

file_put_contents("data.txt", $string, FILE_APPEND);

请参阅使用sql命令的良好解决方案,谢谢Vinet,我也将其与jaitsu answer一起使用,appreciated@mohamedamin使用PHP将是一个非常缓慢的过程,然后内置mysql。这两个东西都是在文本文件中获取数据库,但我们也可以使用mysql文件导入数据,但PHP数据需要额外的命令使用sql命令是一个很好的解决方案,谢谢Vinet我也使用jaitsu answer,appreciated@mohamedamin使用PHP将是一个非常缓慢的过程,然后内置mysql。这两个东西都是在文本文件中获取数据库,但是我们也可以使用mysql文件来导入数据,但是PHP数据需要额外的命令