Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.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 将jpeg作为blob保存并检索到mysql数据库_Php_Mysql_Blob - Fatal编程技术网

Php 将jpeg作为blob保存并检索到mysql数据库

Php 将jpeg作为blob保存并检索到mysql数据库,php,mysql,blob,Php,Mysql,Blob,我看了一个关于如何实现这一点的教程,但仍然无法将图像作为blob上传到mysql 我想允许用户选择图像 <form action="includes/submitImage.inc.php" method="POST" enctype="multipart/form-data"> <input type="file" name="image1"> <button type="submit" name="submit">S

我看了一个关于如何实现这一点的教程,但仍然无法将图像作为blob上传到mysql

我想允许用户选择图像

    <form action="includes/submitImage.inc.php" method="POST" enctype="multipart/form-data">
        <input type="file" name="image1">
        <button type="submit" name="submit">Save Image</button>
    </form

保存图像

将图像直接保存到数据库不是一个好主意。请将上载的图像文件移动到安全目录,并将其路径或名称保存在数据库中,然后通过从数据库中读取保存的路径来检索它。如果你想做一个坏的,并保存图像到数据库
首先确保dbh.inc.php文件正确连接到数据库。启用调试模式以查看可能的错误消息。

删除header函数,查看是否弹出任何错误。添加
…mysqli\u查询($conn,$sql)或die($conn->error)是的,我为mysqli_real_escape_string()得到了一个错误,它正好需要两个参数。我相信这是因为我在获取文件信息时没有传递$conn参数。试一试now@ReinderWit这确实让我得到了一个不言自明的错误。我将$conn参数(在dbh.inc.php中创建)作为第一个参数添加到mysqli_real_escape_字符串中,现在可以使用了。谢谢你的洞察力。我也不知道为什么我没有得到错误,但现在我知道删除头调用。谢谢。我通常就是这样做的。在我看来,这比这容易得多。我只是回显路径以获得正确的图像,然后自己将图像上传到db。客户希望直接选择并立即上传图像。你能解释一下为什么这是一种更糟糕的方法吗?我愿意学习。感谢您的输入。将图像保存在数据库中会使其变得越来越大,并且处理过程比将图像保存在文件系统中使用更多的CPU。在某些情况下,使用数据库会更好,但最佳性能取决于您的系统。有关更多信息,请参阅此页:谢谢。有道理。我很高兴我试过这样做,但我会回到我的老办法,更容易做你的指示。保存路径并将文件上载到服务器。谢谢
    <?php 

        include_once 'dbh.inc.php';
        $imageData1 = mysqli_real_escape_string(file_get_contents($_FILES['image1']['tmp_name']));
        $imageType1 = mysqli_real_escape_string($_FILES['image1']['type']);

        $sql = "UPDATE myDbTable SET selectedImage='$imageData1' WHERE id='1';";
        mysqli_query($conn, $sql);
        header("Location: ../home?edit=success");
        exit();
    ?>