簡體   English   中英

我正在嘗試使用PHP中的Ajax從數據庫中獲取圖像

[英]I am trying to fetch image from database using ajax in php

這是我的代碼,我正在嘗試使用Ajax從數據庫中獲取圖像,但是它不起作用,請幫助我。 當我嘗試使用錨標記獲取圖像時,圖像上傳工作正常,但它在另一頁上顯示了我的圖像。 但我想在窗口加載時在同一頁上。

getImage.php

if(filter_has_var(INPUT_GET, "image_id") !== false && filter_input(INPUT_GET, 'image_id', FILTER_VALIDATE_INT) !== false)
{

$image_id = filter_input(INPUT_GET, "image_id", FILTER_SANITIZE_NUMBER_INT);
try     {

    $dbh = new PDO("mysql:host=localhost;dbname=flipbook", 'root', '');


    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);


    $sql = "SELECT image, image_type FROM testblob WHERE user_id=$image_id";

    /*** prepare the sql ***/
    $stmt = $dbh->prepare($sql);


    $stmt->execute(); 

    /*** set the fetch mode to associative array ***/
    $stmt->setFetchMode(PDO::FETCH_ASSOC);


    $array = $stmt->fetch();


    if(sizeof($array) == 2)
        {

            header("Content-type: ".$array['image_type']);


            echo $array['image'];
        }
    else
        {
        throw new Exception("Out of bounds Error");
        }
    }
catch(PDOException $e)
    {
    echo $e->getMessage();
    }
catch(Exception $e)
    {
    echo $e->getMessage();
    }
    }


 else
    {
    echo 'Please use a real id number';
    }
}

的index.php

<body onload="showUserProfilePic(<?php echo $_SESSION['current_user_id'];?>)">
<div id="txtHint">Child Picture will be listed here.</div>
<script>
        function showUserProfilePic(str) {
            //alert(str);
            if (str == "") {
                document.getElementById("txtHint").innerHTML = "";
                return;
            } else { 
                if (window.XMLHttpRequest) {
                    // code for IE7+, Firefox, Chrome, Opera, Safari
                    xmlhttp = new XMLHttpRequest();
                } else {
                    // code for IE6, IE5
                    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
                xmlhttp.onreadystatechange = function() {
                    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                        document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
                    }
                }
                xmlhttp.open("GET","getImage.php?image_id="+str,true);
                xmlhttp.send();
            }
        }

嘗試使用

$sql = "SELECT image, image_type FROM testblob WHERE user_id='" . $image_id . "';

你的標簽在哪里?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM