我使用以下代码从 mysql 行获取回显结果,但我需要将这些输出保存到将生成和下载的 .text 文件(我不需要回显它)。我的 sql 数据是简单的字符串,如下所示-
Ar2rew3
df3432ss
sddfdsf
sdfsdfsd
sdfsdsd3
sererere
我只需要在每个字符串中换行,不需要其他任何东西。请告诉我现在应该在当前代码中添加哪些代码?我需要非常简单的解决方案。我希望将所有回显输出保存在 .text 文件中,该文件将被下载
echo '<form action="" method="post">
Email:<input type="text" name="emailadrs"><br>
Worklink:<input type="text" name="worklink"><br>
<input type="submit" name="submit" value="Submit"></form>';
if (isset($_POST['submit'])) {
$emailadrs = $_POST['emailadrs'];
$worklink = $_POST['worklink'];
$sub_stat=1;
$qu = mysql_query("SELECT asin FROM working WHERE w_email='$emailadrs' AND w_asin_link='$worklink' AND submission_status='$sub_stat'");
while ($row = mysql_fetch_array($qu)) {
$asin = $row['asin']."<br>";
echo $asin;
}
}
最佳答案
好吧,我不会直接回答你的问题,因为老实说,从长远来看,我不相信这会对你有帮助,但我会给你一些指导......
1) 您的脚本容易受到 SQL 注入(inject)攻击 - 如果您继续这样做,那么任何人很可能可以通过精心设计的 SQL 注入(inject)攻击导出您数据库的任何部分。 - 阅读此处:http://shishirceh.blogspot.de/2011/06/sql-injection-beginners-tutorial.html如果你不知道什么是SQL注入(inject)。
2) 看看你的代码,我猜你对 PHP 还很陌生(我们都必须从正确的地方开始)。编写“普通”PHP 可能会很痛苦,幸运的是,PHP 社区中的人们已经创建了您可以使用的“框架”,从而消除了创建 PHP 应用程序的大量风险。我个人喜欢使用 Symfony,它非常容易上手,教程:http://symfony.com/doc/current/quick_tour/the_big_picture.html
3) 您使用 MySQL 的方式相当过时,并且与最新版本的 PHP 不兼容。看看这里有一个更好的选择:http://www.w3schools.com/php/php_mysql_prepared_statements.asp
4)您的编程方式(混合用户看到的部分和使网站正常工作的部分)将导致您遇到很多问题(安全性、与其他库的兼容性、健全性)框架将解决这为您提供了一个特定的位置来放置这些元素。然而,要真正利用 PHP 并成为一名“优秀”程序员,您应该首先学习面向对象编程 - 我建议您阅读这本书:http://www.ycit-he.org/files/Resources/PHP%20Objects,%20Patterns,%20and%20Practice.pdf
5) 如果你沿着 symfony 路线走,他们有一个用于写入文件的文件系统组件:http://symfony.com/doc/current/components/filesystem/introduction.html
6) 使用 Symfony,您可以轻松地强制用户在生成文件后下载该文件
// Generate response
$response = new Response();
// Set headers
$response->headers->set('Cache-Control', 'private');
$response->headers->set('Content-type', mime_content_type($filename));
$response->headers->set('Content-Disposition', 'attachment; filename="' . basename($filename) . '";');
$response->headers->set('Content-length', filesize($filename));
// Send headers before outputting anything
$response->sendHeaders();
$response->setContent(file_get_contents($filename));
希望这有帮助,
标记
关于php - 在php中将mysql行字符串数据导出到.text文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37548471/