【问题标题】:Why Image Uploads to folder but not insert into mysql DB?为什么图像上传到文件夹但不插入 mysql 数据库?
【发布时间】:2014-11-16 06:13:51
【问题描述】:

嗨,伙计们,我遇到了一个问题,我将图像上传到上传文件夹上传工作正常,但他没有将值提交到 mysql 数据库,我真的不知道这里的失败是整个代码。 唯一值是用户的 id,图像名称的字段是 company_logo。 我的仪表板代码: 表格:

 <form id="imageform" method="post" enctype="multipart/form-data" action='ajaximage.php'>
                           <input type="file" name="photoimg" id="photoimg" />
                           </form>

JQuery 代码

 <script type="text/javascript" >
 $(document).ready(function() { 

            $('#photoimg').on('change', function()          { 
                       $("#preview").html('');
                $("#preview").html('<div class="spinner"></div>');
            $("#imageform").ajaxForm({
                        target: '#preview'
        }).submit();

            });
        }); 
</script>

最后是 ajaximage.php

<?php
session_start();
ob_start();
$valid_user_id = trim($_SESSION["VALID_USER_ID"]);

if(isset($_SESSION["VALID_USER_ID"]) && !empty($valid_user_id))
{

include "database_connection.php"; //Include the database connection script

//Check the logged in user information from the database
$check_user_details = mysql_query("select * from `signup_and_login_table` where `email` = '".mysql_real_escape_string($_SESSION["VALID_USER_ID"])."'");

//Get the logged in user info from the database
$get_user_details = mysql_fetch_array($check_user_details);

//Pass all the logged in user info to variables to easily display them when needed
$user_id = strip_tags($get_user_details['id']);
$firstname = strip_tags($get_user_details['firstname']);
$lastname = strip_tags($get_user_details['lastname']);
$company = strip_tags($get_user_details['company']);
$company_logo = strip_tags($get_user_details['company_logo']);
$email = strip_tags($get_user_details['email']);
$passwd = strip_tags($get_user_details['password']);

// User Id for Image Upload
$session_id = strip_tags($get_user_details['id']); 


$path = "uploads/";

$valid_formats = array("jpg", "png", "gif", "bmp");
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
    {
        $name = $_FILES['photoimg']['name'];
        $size = $_FILES['photoimg']['size'];

        if(strlen($name))
            {
                list($txt, $ext) = explode(".", $name);
                if(in_array($ext,$valid_formats))
                {
                if($size<(1024*1024))
                    {
                        $actual_image_name = time().substr(str_replace(" ", "_", $txt), 5).".".$ext;
                        $tmp = $_FILES['photoimg']['tmp_name'];
                        if(move_uploaded_file($tmp, $path.$actual_image_name))
                            {
                            mysqli_query($db,"UPDATE signup_and_login_table SET company_logo='$actual_image_name' WHERE id='$session_id'");

                                echo "<img src='uploads/".$actual_image_name."'  class='preview'>";
                            }
                        else
                            echo "failed";
                    }
                    else
                    echo "Image file size max 1 MB";                    
                    }
                    else
                    echo "Invalid file format..";   
            }

        else
            echo "Please select image..!";

        exit;
    }

}
else
{
//Send every user who tries to access this page directly without valid session to the login page. 
//The login page is the door that every user needs to pass to this page
header("location: login.html");
}
?>

【问题讨论】:

  • INSERT INTO MySQL 查询在哪里?
  • 我使用了更新查询@PraveenKumar
  • 检查UPDATE查询是否直接在phpMyAdmin之类的,检查是否真的更新了DB。
  • @user1607143 打印更新查询并运行到 phpmyadmin 或查询浏览器。结果是什么让我们知道。
  • Mhh 使用 Mysql Front 无法工作我有替代方案吗?

标签: php jquery mysql image image-uploading


【解决方案1】:

使用以下 sql 查询: INSERT INTO signup_and_login_table (company_logo, id) VALUES ('$actual_image_name', '$session_id')

您改为创建了一个 UPDATE 查询,它只更新已经存在的行。

亲切的问候!

【讨论】:

    【解决方案2】:

    试试这个查询

     mysqli_query($db,"UPDATE signup_and_login_table SET company_logo='$actual_image_name' WHERE id=".$session_id);
    

    【讨论】:

    • 您是否遇到任何错误?添加错误报告(E_ALL);在执行 php 脚本之前。
    • 在执行你的意思的查询之前
    • 赞这个error_reporting(E_ALL); mysqli_query($db,"UPDATE signup_and_login_table SET company_logo='$actual_image_name' WHERE id=".$session_id); echo "&lt;img src='uploads/".$actual_image_name."' class='preview'&gt;";
    • 好的,这样做并尝试放在当前 .php 文件的顶部。
    • 在 ajaximage 文件中还是在仪表板文件中?
    猜你喜欢
    • 1970-01-01
    • 2021-06-14
    • 2014-02-25
    • 2016-10-20
    • 1970-01-01
    • 2015-10-04
    • 1970-01-01
    • 2023-03-28
    • 2013-03-07
    相关资源
    最近更新 更多