PHP 下载已损坏/为空


PHP download corrupted/empty

我的代码上传一个文件,将唯一键插入 SQL 数据库,然后返回下载链接。我读到我应该使用 mysqli 而不是 mysql,所以我改变了它并认为我已经准备好了,1-2 周过去了,没有任何编码,现在当我尝试打开下载的文件时,它们已损坏或为空。

包含"test"的.txt http://pastebin.com/NPiw0bve 返回此代码。然后我注意到我仍然有一些 mysql 扩展名,所以我很快将其更改为 mysqli,现在此错误消失了,所有.txt文件都是空的。

由于上传是正确的,并且它将键添加到数据库中,为什么它会抱怨

database problem Access denied for user ''@'localhost' (using password: NO)

从 mysql 更改为 mysqli 不仅仅是向 mysql 添加 i 的更改。程序也有一些变化。

最好参考此链接,该链接对mysqli初学者mysqli教程中的初学者很有用。

本教程是 Oops 风格的,如果您遵循过程风格,则本教程的使用不多。但可以肯定的是,你会得到一些关于mysqli的想法。

例如,在程序编码风格中:

MySQL 连接中使用的示例代码

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "dbname";
// Create connection
mysql_connect($servername, $username, $password);
mysql_select_db($dbname);
// we use seperate line for mysql connection and db selection. 
?>

查询将像mysql_query("select * from tablename");

MySQLi 连接中使用的示例代码

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "dbname";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// We use single line for db selection and mysql connection.
?>

查询将像mysqli_query($conn, "select * from tablename");在这里,我们使用 $conn 在所有查询中保持连接

注意:这不是针对上传错误的解决方案。 由于您没有以正确的方式显示您的代码,我认为这些更改可能会导致您的代码出错。

您与数据库的链接已断开。拒绝访问 fpr 用户 '' 表示,u 不向数据库连接传递用户名。确保您的连接已稳定并准备就绪。

$connection = mysqli_connect($host,$user[,$pass[,$db]]);

然后检查$connection是否是资源和有效的SQL链接。 如果它无效,大多数MySQLi函数返回false或"(没有 - 空字符串),这就是您的下载为空的原因。

MySQLi函数与MySQL不同,请查看手册以了解您的所有需求并编辑代码。