php - 在 MySQL 插入上使用 multipart/form-data 的奇怪行为

标签 php mysql file-upload multipartform-data

我有一个这样的表格

<form method="post" enctype="multipart/form-data">
    <input type="text" name="field01">
    <input type="file" name="file01">
    <button type="submit" name="update">Update</button>
    <button type="submit" name="new">Save New</button>
</form>

它包含不同的输入字段,如上例所示。

现在我遇到了一种奇怪的行为。在测试我的 MySQL 插入/更新等后,我添加了 enctype。这按预期工作。文件上传也可以工作,但现在我遇到了问题,我的插入不再使用 multipart/form-data 工作。奇怪的是,我的更新确实与我的图像上传一起工作。如果我删除 enctype,我的插入确实可以工作,但我的文件上传显然不行。

我的 POST 数据在两种(插入/更新)情况下也是正确的,PDO 语句也是正确的(使用 queryString 检查它)。正如我所说,它有效。

如何使用这种类型的表单处理按钮 type="submit"?我已经尝试过输入 type="submit"来检查这是否是问题所在,但结果是相同的。

最佳答案

好吧,我明白了。问题不在于多部分,而是我将图像的文件名保存在数据库中。但如果激活了 multipart,则内容是二进制的(即使没有设置文件)。这导致了问题并且 INSERT 失败。

我想 UPDATE 会忽略无法更新的字段并将其留空?

关于php - 在 MySQL 插入上使用 multipart/form-data 的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51319874/

相关文章:

java - play框架上传文件时出现问题

javascript - 在 node.js 中发送带有图像附件的电子邮件

php - MySQL Relational friends scheme?

php - 如何使用 laravel 将 mysql 表导出到 xml 文件

python - 将大型 csv 插入 MySQL,忽略带有未知字符的行

php - 如何计算从当前系统日期到过去和 future 日期的 365 天,并使用 php 和 mysql 相应地获取数据

jquery - MVC jquery 文件上传传递参数

php - 在 php 中测试并发 mysql 插入操作

PHP glob 目录 UTF-8

php - 如何为我的应用程序创建索引数据库