php - 上传并保存图片路径到mysql

标签 php mysql database

我想上传一张图片到我的服务器,并将图片路径保存到我的数据库,

如何将文件重命名为其自动递增的 ID?并保存到DB的路径

我的意思是如果我有一个文件 image.jpg。当我上传图片时,我想自动将其重命名为相应的 id.jpg(例如 1.jpg、2.jpg 3.jpg 等)并将该路径保存到数据库中。

这是我现在的代码。但它不起作用。

<?php

include 'db.php';

$title = $_POST['title'];
$description = $_POST['description'];
$lang = $_POST['lang'];

$fileName = $_FILES['file']['name'];

$target = "img/";   

$fileTarget = $target.$fileName;    

$tempFileName = $_FILES["file"]["tmp_name"];

$result = 
move_uploaded_file($tempFileName,$fileTarget);



$add = mysqli_query($conn,"INSERT INTO files(title,description,imgname,imgurl,date,lang) VALUES('$title','$description','$fileName',$fileTarget',CURDATE()),'$lang'");

if($add){   
echo "File uploaded successfully";
}
else{
echo "Sorry upload failed.";

}

?>

这是我的表格

<html>
<body>
<form name="upload" method="POST"        action="upload.php" onsubmit="return validateform()" enctype="multipart/form-data">
<input type="text" name="title"><br>
<input type="text" name="description"><br>
<select name="lang">
<option value="Malayalam">Malayalam</option>
<option value="Tamil">Tamil</option>
<option value="Telugu">Telugu</option></select><br>

<input type="file" name="file">
<input type="submit" value="upload">
</form>
</body>
</html>

最佳答案

我认为您的插入查询有问题,请在此处检查我发现的错误...

$add = mysqli_query($conn,"INSERT INTO files(title,description,imgname,imgurl,date,lang) VALUES('$title','$description','$fileName','$fileTarget',CURDATE(),'$lang')");

')' 被错误地添加到 CURDATE() 附近,并且 $fileTarget 也遗漏了一个 ' 并且没有正确插入您创建的查询使用上面的代码,

关于php - 上传并保存图片路径到mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48498750/

相关文章:

java - 将Java连接到MySQL数据库

mysql - 为多数据库关系配置 Hibernate-Spring 的最佳实践是什么?

database - 您将如何构建数据库文件系统 (DBFS)?

php - 为 Windows Azure 设置 Codeigniter

php - 如何通过包含的 php 脚本在导航中获得 CSS 样式?

php - 由 PHP 执行的 C 应用程序在执行完成之前不会在浏览器上显示输出

Php 和 MySql - 将数据从一个表复制到另一个表

MySQL 添加列,如果不存在

mysql - 如果预计数据库表以后会增加更多列,那么将这些列保留为另一个表的行是否是好的设计?

php - 为什么 PHP 中使用 {'property' }