Php 问题上传图像

Php 问题上传图像,php,file-upload,Php,File Upload,我一直在关注YouTube上的“上传/存储MySQL数据库中的图像”教程,但这一问题持续了两天,我在过去两天一直在尝试调试这个问题,但不知道它是什么 代码如下: <?php // connect to database mysql_connect("localhost", "root", "") or die(mysql_error()); mysql_select_db("databaseimage") or die(mysql_error()); // file properties

我一直在关注YouTube上的“上传/存储MySQL数据库中的图像”教程,但这一问题持续了两天,我在过去两天一直在尝试调试这个问题,但不知道它是什么

代码如下:

<?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>";
    }

} 
}
?>

如果它在上传图像时向您抛出了一个问题,而不是它可能进入的问题
如果
条件是您的查询失败,您应该使用
mysql\u error()
阅读一条友好的消息,这就是导致您的查询失败的原因

echo "Problem uploading image.".mysql_error($connection); 
//Replace connection with the connection var
注意:代码是完全脏的,而且它使用了不推荐的mysql\uuz()。所以 开始学习
mysqli_389;()
或PDO,您的代码也容易被SQL注入,在将任何用户提供的数据插入数据库之前,最好先清理数据并转义字符串


此外,您没有检查用户上载的文件扩展名和文件大小,因此出于安全原因,您也必须这样做,并保存上载到服务器上的大型文件…

这向我表明错误是,“第1行的列“id”的整数值不正确:“”。所以我在“$IVIGENONEX”之前的空白处放了一个任意的数字,它使它有效,但是我认为我不需要输入一个数字,因为通过数据库,我设置了ID是主的和自动增量的。要解决此问题,我应该在空白“”中输入什么?(我不想把那个任意数字放在那里,因为它感觉不对)@user2512888如果你的id是AI,你使用的是不带列名的insert,而不是简单地使用这个查询
“insert-INTO-store(image\u-name\u-column\u-name,另一个\u-column\u-name)值('$image\u-name','$image')”
//用真名替换列名
我明白了,外星人先生您是魔术师,让我当您的学徒吧。但实际上,你是如何学习所有这些并拥有如此多的知识的呢?(你只是阅读了所有的文档吗?)教我原力的方法。@user2512888谢谢,我只是从各种资源中学习,我开发不同的项目,遇到某些问题,我调试,这就是我不断学习的方式,如果这解决了你的问题,您可以将答案标记为正确,以便其他人可以引用:)@user2512888您可以在我的个人资料中看到信息,您将获得一个包含我电子邮件的base_64编码字符串,您可以对其进行解密。。