Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP MySql图片数据_Php_Html_Mysql - Fatal编程技术网

PHP MySql图片数据

PHP MySql图片数据,php,html,mysql,Php,Html,Mysql,我无法显示Mysql数据库中的图像。 我一直在关注所有的例子和其他帖子,但似乎都做不好 <?php $db = new PDO('mysql:host=localhost;dbname=MyDatabase;charset=utf8mb4', 'tester', '1234567890'); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db->setAttribute(PDO::ATTR_EMUL

我无法显示Mysql数据库中的图像。 我一直在关注所有的例子和其他帖子,但似乎都做不好

<?php
$db = new PDO('mysql:host=localhost;dbname=MyDatabase;charset=utf8mb4', 'tester', '1234567890');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

$request = "347";
$mytable = "u55";
$stmt = $db->prepare("SELECT * FROM ".$mytable." WHERE Id = :SearchName ");
$stmt->bindParam(':SearchName', $request, PDO::PARAM_STR);  
$stmt->execute();

$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
$result = $result[0]['TheAvatar'];
header("Content-Type: image/jpg");
echo '<img src="'.$result.'" />';
?>
然后存储数据的函数是

        $mTheAvatar = $input[$i]->TheAvatar;
        $mTheDirection= $input[$i]->TheDirection;
        $mTheGroup = $input[$i]->TheGroup;
        $mTheMedia = $input[$i]->TheMedia;
        $mTheMessage = $input[$i]->TheMessage;
        $mTheSenderName= $input[$i]->TheSenderName;
        $mTheThumbImage = $input[$i]->TheThumbImage;
        $mTheTime = $input[$i]->TheTime;
        $mTheMediaExtension = $input[$i]->TheMediaExtension;
        $statement = $db->prepare('INSERT INTO '.$mDevice.' '.
        '(TheAvatar , TheDirection , TheGroup , TheMedia , TheMediaExtension , TheMessage , TheSenderName , TheThumbImage , TheTime) '.
        'VALUES (:aTheAvatar, :aTheDirection, :aTheGroup , :aTheMedia, :aTheMediaExtension , :aTheMessage, :aTheSenderName, :aTheThumbImage, :aTheTime)');
        try {
            $statement->execute(array(
            "aTheAvatar" => $mTheAvatar,
            "aTheDirection" => $mTheDirection,
            "aTheGroup" => $mTheGroup,
            "aTheMedia" => $mTheMedia,
            "aTheMediaExtension" => $mTheMediaExtension,
            "aTheMessage" => $mTheMessage,
            "aTheSenderName" => $mTheSenderName,
            "aTheThumbImage" => $mTheThumbImage,
            "aTheTime" => $mTheTime
            ));
        } catch(PDOException $ex) {
            echo "An Error occured!"; 
            echo $ex->getMessage();
            die;
        }

您可以使用以下代码显示您的图像:

echo '<img src="data:image/jpeg;base64,'.base64_encode( $result ).'"/>';
echo';

分配图像后,您正在覆盖结果对象。是否尝试回显“”;了解如何将图像存储到数据库中会很有用。你能把代码也显示出来吗。最有可能的情况是,您没有正确地将二进制数据存储在文本列中,并期望在一块中全部恢复。尝试使用
$mTheAvatar=base64\u encode($input[$i]>TheAvatar)转换图像然后从数据库检索时执行
base64\u decode()
插入前编码。在发送到浏览器之前对检索进行解码您可以添加将图像存储到数据库中的代码吗?如果检索到的数据已被错误插入损坏,则尝试使用
base64\u encode()
有点晚
echo '<img src="data:image/jpeg;base64,'.base64_encode( $result ).'"/>';