首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >上传图片时出现问题

问上传图片时出现问题
EN

Stack Overflow用户
提问于 2013-07-20 14:59:18
回答 1查看 85关注 0票数 2

我一直在关注YouTube上的“在MySQL数据库中上传/存储图像”的教程,但两天来一直有这个问题,我在过去的两天里一直在尝试调试这个问题,但找不出是什么问题。

代码如下:

代码语言:javascript
复制
<?php
// connect to database
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("databaseimage") or die(mysql_error());

// file properties
$file = $_FILES['image']['tmp_name'];

if (!isset($file))
    echo "Please select an image.";
else
{
 $image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
 $image_name = addslashes($_FILES['image']['name']);
 $image_size = getimagesize($_FILES['image']['tmp_name']);

 if ($image_size==FALSE)
    echo "That's not an image.";
else
{
    if (!$insert = mysql_query("INSERT INTO store VALUES ('', '$image_name',     
    '$image')"))
        echo "Problem uploading image.";
    else
    {
     $lastid = mysql_insert_id();
     echo "Image uploaded.<p />Your image:<p /><img src=get.php?id=$lastid>";
    }

} 
}
?>

每当我尝试上传.png或.jpeg文件时,代码都会命中"else“案例中的"if”案例,并且不传递该案例,并回显“上传图像时出现问题”。我完全按照教程所做的那样做了,教程中的人能够通过那个"if“情况,并实际点击最后一部分并回显"Image uploaded”。

有人知道问题出在哪里吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-20 15:02:12

如果它抛给你一个上传图片的错误,当你的查询失败时,它可能正在输入if条件,你应该使用mysql_error()来读取一条友好的消息,这是导致你的查询失败的原因。

代码语言:javascript
复制
echo "Problem uploading image.".mysql_error($connection); 
//Replace connection with the connection var

注意:代码是完全脏的,而且它使用了废弃的mysql_()。因此,开始学习mysqli_()或PDO吧,而且您的代码很容易出现SQL注入,在将用户提供的任何数据插入数据库之前,最好对数据进行清理并转义字符串。

此外,您没有检查文件扩展名和文件大小,这是由用户上传的,所以您必须这样做,出于安全原因,并将大量文件上传到您的服务器上...

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17759627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档