php - 将图像信息导入数据库时​​出现问题

标签 php html mysql sql database

当我提交表单时,我可以将文章信息传递到我的数据库中,但我的图片信息不会发送。

我正在使用事务,因此我可以将信息从 1 个表单插入到 2 个表中。

这是将信息传递到数据库的事务:

$conn->query("START TRANSACTION");
$stmt = $conn->prepare('INSERT INTO articles(article_title, article_text, article_date) VALUES (?, ?, NOW())');
$stmt->bind_param('ss', $_POST['article_name'], $_POST['description']);
$stmt->execute();
$stmt = $conn->prepare('INSERT INTO images (article_id, image_caption, image_filename) VALUES(LAST_INSERT_ID(),?,?)');
$stmt->bind_param('ss', $_POST['image_caption'], $_FILES['upload']['name']);
$stmt->execute();
$stmt->close();
$conn->query("COMMIT");

这是我的表格:

<form id="inputArticle" name="inputArticle" method="post" action="" enctype="multipart/form-data" >
<p> <label for="article_name">Article Title:</label> <input name="article_name" placeholder="Name of the article" id="article_name" type="text" size="50" maxlength="50" /> </p>
<p> <label for="description">Article Content:</label> <textarea name="description" placeholder="Content of the article"id="description" cols="50" rows="10"></textarea> </p>
<p> <label for="image_filename">Choose File to Upload</label><br /> <input type="file" name="image_filename" id="image_filename" /> </p>
<p> <label for="image_caption">Image Caption:</label> <textarea name="image_caption"  id="image_caption" cols="50" rows="5"></textarea> </p>
<p> <input type="submit" name="insert" value="Insert New Article" /> </p>
</form>

旁注: 当我从 sql 和表单中删除图像上传代码时,一切似乎都有效。 id 和描述被发送到数据库,所以我认为问题出在图片上传部分。

最佳答案

忘记更改输入名称。

Issent $_FILES['upload']['name'] supposed to be $_FILES['image_filename']['name'']

关于php - 将图像信息导入数据库时​​出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16092709/

相关文章:

javascript - 在父 DIV 中垂直对齐单个 DIV(img)

jQuery - 切换播放/暂停按钮(多个音频)

php - 将值发布到数据库

php - 如果值与 PHP 中数组中的其他值相关,如何从数组中删除数组?

html - 如何计算基于像素的 CSS 转换百分比?

mysql - 检查表 MySQL 中是否存在值

尝试添加外键时mysql出错

mysql - 将数组列表中的项目存储到数据库中

php - Mysql查询逻辑(类(class)前、后、间)

php - 如何禁用严格的MySql?