繁体   English   中英

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

[英]how to upload / store any file in mysql database from php page

因此,在几乎可以找到的任何地方进行了数小时的无果搜索之后,我正在寻求帮助。 我有一个简单的 html 表单,它要求一些输入,让我选择一个文件就好了,然后将它发送到一个应该连接到我的 MySQL 的 php 表单(在那里找到一秒钟的 nemo 时刻......)并保存将文件转换为 longBLOB。 尝试从我的 /tmp 目录中读取。 nada 尝试直接从$_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');

在这里斗智斗勇,真的可以使用救生索。

谢谢大家。

附: 就像我说的,今晚做了很多阅读,我知道有比将图片/​​pdf/everythingunderthesun 作为数据库中的 BLOB 上传更好、更有效的文件存储方法,但这就是我想要做的:)

  1. 不要将文件存储在数据库中。 将它们存储在文件系统中。
  2. 无论如何,您的数据库结构为此目的是错误的。 不应有动态字段名称。
  3. 通过这种方法,您对 SQL 注入持开放态度。

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

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

应该

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM