【问题标题】:Profile photo upload in php and database在 php 和数据库中上传个人资料照片
【发布时间】:2019-06-04 08:42:09
【问题描述】:

我有问题,照片上传到网站,但它的名称没有保存在数据库中。 代码将照片上传到网站,但文件名没有上传到数据库 帮帮我,我需要知道代码中的问题是什么? 请有人回答!

代码:

<?php session_start();
        $con = mysqli_connect("my host","my account","my passwod","my table name");
            $_SESSION['id'] = "$con_id";
?>

<?php

        if(isset($_POST['submit'])){
                move_uploaded_file($_FILES['file']['tmp_name'],"../userstorage/p_photos/".$_FILES['file']['name']);
                $con = mysqli_connect("my host","my account","my password","my table name");
                $q = mysqli_query($con,"UPDATE users SET image = '".$_FILES['file']['name']."' WHERE id = '".$_SESSION['id']."'");
        }
?>

【问题讨论】:

  • $id 未定义
  • 它在哪里?????
  • 在您的更新查询中。问的时候,1个问号就够了。
  • 那是不可读的。请考虑editing您的问题
  • 我现在知道你的凭据了!

标签: php html mysql session file-upload


【解决方案1】:

你的错误在这里

$q = mysqli_query($con,"UPDATE users SET image = '".$_FILES['file']['tmp_name']."' WHERE id = '$id'");

$_FILES['file']['tmp_name'] 是图像数据,而 $_FILES['file']['name'] 是名称的文件。所以最终你需要更改这段代码

如需参考,请查看W3Schools 上的这篇文章,了解如何从数据库上传和显示图像。

【讨论】:

  • 我想知道为什么我因为给出明显正确的解决方案而被否决了??
  • $_FILES['file']['tmp_name'] 不是图片数据,而是服务器上文件的临时名称。这是一个错误,但不是唯一的。他在查询中使用未声明/分配的变量。不是我的反对意见,但这不是“明显正确的解决方案”
  • 好的我明白了,但是当你从浏览器复制文件时,你用 $_FILES['file']['tmp_name']** 复制文件并得到代表带有**$_FILES['file']['name']的文件名,这是他首先需要使用的。
  • 另外,我可以通过来自 OP 的有限信息给出更清晰的答案>。
  • 如果您需要更多信息来发布答案,请不要发布您的答案并在 cmets 中要求澄清。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-09
  • 2014-10-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多