Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.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_Mysql_Image Uploading - Fatal编程技术网

php mysql将图像上载到数据库

php mysql将图像上载到数据库,php,mysql,image-uploading,Php,Mysql,Image Uploading,在线找到了几个关于如何以二进制格式将图像上载到mysql数据库表的示例 不是服务器中的链接或文件夹 当我试图打印图像时,图像不可见 当我检查数据库表时,它以奇怪的格式显示了一堆数据,我假设是图像数据 这是代码 if(!empty($_FILES['image']) && $_FILES['image']['size'] > 0 && !empty($_POST['name'])) { // Temporary file name stored on

在线找到了几个关于如何以二进制格式将图像上载到mysql数据库表的示例 不是服务器中的链接或文件夹

当我试图打印图像时,图像不可见

当我检查数据库表时,它以奇怪的格式显示了一堆数据,我假设是图像数据

这是代码

if(!empty($_FILES['image']) && $_FILES['image']['size'] > 0 && !empty($_POST['name']))
{
    // Temporary file name stored on the server
       $tmpName = $_FILES['image']['tmp_name'];

// Read the file
$fp = fopen($tmpName, 'r');
$data = fread($fp, filesize($tmpName));
$data = addslashes($data);
fclose($fp);
显示图像的代码

$sql = "SELECT * FROM `photos` WHERE userName = '$currentUser'";
    $result = mysqli_query($con,$sql);
    while($row = mysqli_fetch_array($result)) 
    {
        $content = $row['image'];
        echo $content;
        echo '<p id="caption">'.$row['caption'].' </p>';
    }
$sql=“从'photos'中选择*,其中用户名='currentUser';
$result=mysqli\u查询($con,$sql);
while($row=mysqli\u fetch\u数组($result))
{
$content=$row['image'];
echo$内容;
回显“

”.$row['caption']”。

; }
当我试图显示图像时,我没有得到任何输出,我通过putty检查数据库,我看到大量奇怪的字符,我假设图像的项目


想法?

您最终可以尝试替换这两行:
$content=$row['image'];
echo$内容
与:

echo'

addslashes
已经不是那么好了。MySQLi支持参数化查询-使用它们。此外,你不能只将图像的字节输出到HTML页面,然后期望它显示为图像。是的,将图像存储在文件系统中,将图像的路径存储在数据库的varchar中。你不能只将原始图像内容回显到HTML。阅读以下内容:Dragos我阅读了那篇文章,它的工作效果更好,显示了一个小正方形,然而,仍然没有图像。它只适用于jpeg吗?我该怎么做才能看到不止一种类型的图像?Dragos我读了那篇文章,它的效果更好,显示了一个小正方形,但是仍然没有图像。它只适用于jpeg吗?我该如何做才能看到超过一种类型的图像