如何从php页面上传/存储mysql数据库中的任何文件

时间:2013-06-26 04:41:35

标签: php mysqli

因此,在我能找到的任何地方进行无效搜索之后,我正在寻求帮助。 我有一个简单的html表单,要求输入一些,让我选择一个文件就好了,然后将它发送到一个PHP表单,该表单应该连接到我的MySQL(在那里找到nemo时刻......)并保存将文件转换为longBLOB。 尝试从我的/ tmp目录中读取。纳达 尝试直接从$_FILES['userfile']['tmp_name']和nada阅读。 尝试下面的代码,几乎每个混合和匹配的代码,我可以阅读,收集,或无耻地从互联网抄袭,仍然是虚无...。

$sendUp = $_POST["whatDoc"];
$teamCriteria = $_POST["team"];
$lastNameCriteria = $_POST["lastName"];
$firstNameCriteria = $_POST["firstName"];

$myFile = $_FILES['userfile']['tmp_name'];
$fn = $_FILES['userfile']['name'];
$fl = $_FILES['userfile']['size'];
$fp = fopen($myFile, 'r');
$content = fread($fp, filesize($myFile));
$content = addslashes($content);

#lines below changed for obvious reasons
$con = mysqli_connect("the usual", "the usual", "*********", "the usual");
 if (mysqli_connect_errno())
 {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$query = "UPDATE leo SET '$sendUp'=$content WHERE Last='$lastNameCriteria'";

mysqli_query($con, $query)or die('Error, query failed');

在智慧结束时,真的可以使用生命线。

谢谢大家。

PS。就像我说的那样,今晚做了很多阅读,我知道有更好更有效的方法来存储文件,而不是将pics / pdf / everythingunderthesun作为BLOB上传到数据库中,但这就是我要做的事情:)< / p>

2 个答案:

答案 0 :(得分:2)

  1. 不要将文件存储在数据库中。将它们存储在文件系统中。
  2. 无论如何,您的数据库结构是错误的。不应该有动态字段名称。
  3. 使用方法,您可以大量使用SQL注入。

答案 1 :(得分:0)

您的查询错误。您在表名周围使用了单引号,但这应该是反引号`

$query = "UPDATE leo SET '$sendUp'=$content WHERE Last='$lastNameCriteria'";

应该是

$query = "UPDATE leo SET `$sendUp` = '$content' WHERE Last='$lastNameCriteria'";