php - 除非添加新记录,否则 MySQL 数据库显示损坏的图像

标签 php mysql file-upload

所以我运行了一个脚本,将图像和其他数据一起上传到我的数据库。但是,总是有一条记录没有扩展名并且每次都具有相同的文件名。如果我删除该记录并不重要,该文本字符串“d41d8cd98f00b204e9800998ecf8427e”将填充到另一个记录中。如果我添加一条新记录,它将转移到另一条记录。

下面是我如何插入数据库和文件系统:

$art = mysql_real_escape_string(stripslashes($_FILES["art"]["name"]));
    $art_ext = pathinfo($art, PATHINFO_EXTENSION);
    if(strtoupper($art_ext)=="JPEG"){
        $art_ext = "jpg";
    }
    $art = md5($art).".".$art_ext;
    if($art!=""){
        move_uploaded_file($_FILES['art']['tmp_name'], "images/".$art );
    }
$sql = "INSERT INTO event (imglink, title, date, tag1, tag2, Price, city, subtitle, venue, password, description, fb) VALUES ('$art','$title','$date','$tag1','$tag2','$price','$city','$subtitle','$venue','$password', '$description', '$fb')";
    $result = mysql_query($sql) or die(mysql_error());

相关记录图片如下: phpMyAdmin

最佳答案

d41d8cd98f00b204e9800998ecf8427e 是一个空字符串的 md5,因此即使没有文件上传并且因此未设置文件名/扩展名,您的代码似乎也已到达

很难从您发布的有限代码中分辨出来,但是一个例子是如果同一页面用于显示上传表单和接受数据,您将如何以空文件名调用代码,并且 GET 错误地落入此代码。

关于php - 除非添加新记录,否则 MySQL 数据库显示损坏的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18540692/

相关文章:

java - 需要 SOLR 和 PHP 帮助

javascript - PHP通知: Trying to get property of non-object

php - PDO 语法错误或使用内爆的访问冲突

php - WordPress 媒体文件上传 403 禁止

javascript - 文件上传(拖放)不起作用

php - 与 nl2br 类似的函数,但使用 <w :br/> tags and removing any break lines

mysql - 哪个在 MySQL where 子句 : YEAR() vs BETWEEN? 中表现更好

mysql - 如何确定表 1 中的主键是否出现在表 2 中

mysql - MySQL中的多线程?

javascript - 使用 Dropzone.js 和 Laravel 上传 PDF。有的上传成功,有的返回空对象?