php - 使用PDO上传图片的问题

标签 php mysql pdo

我在上传图片时遇到一些问题。我想从表中存储和检索图像,但是当我尝试获取图像时,它没有显示。只有损坏的图像的图标。但是,如果我通过 phpmyadmin 手动上传图像,它会显示该图像。我的表行的类型是 blob。我完全糊涂了。任何人都可以帮忙吗?

我的代码很简单:

$pdo = new PDO('mysql:dbname=database_name;host=localhost', 'username', 'password',
                array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));

              $imageName = mysql_real_escape_string($_FILES["image"]["name"]);
              $imageData = addslashes(file_get_contents($_FILES["image"]["tmp_name"]));
              $imageType = mysql_real_escape_string($_FILES["image"]["type"]);

              $stmt = $pdo->prepare('INSERT INTO image (name,image) VALUES (:name,:image)');
              $stmt->execute(array('name' => $imageName, 'image' => $imageData));
              echo "Image Uploaded";


              $res = mysql_query("SELECT * FROM image "); 
              while ($row = mysql_fetch_assoc($res)) 
              {                                                  
                echo "<img src=data:image/jpeg;base64," . (base64_encode(($row['image']))) . " style='width:60px;height:60px;'>";
              }

最佳答案

尝试删除验证,您使用准备好的语句,您不需要它。

              $pdo = new PDO('mysql:dbname=database_name;host=localhost', 'username', 'password',
                array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));

              $imageName = $_FILES["image"]["name"];
              $imageData = file_get_contents($_FILES["image"]["tmp_name"]);
              $imageType = $_FILES["image"]["type"];

              $stmt = $pdo->prepare('INSERT INTO image (name,image) VALUES (:name,:image)');
              $stmt->execute(array('name' => $imageName, 'image' => $imageData));
              echo "Image Uploaded";


              $res = mysql_query("SELECT * FROM image "); 
              while ($row = mysql_fetch_assoc($res)) 
              {                                                  
                echo "<img src=data:image/jpeg;base64," . (base64_encode(($row['image']))) . " style='width:60px;height:60px;'>";
              }

关于php - 使用PDO上传图片的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23168296/

相关文章:

database - 交响乐 2 : Build own DB access layer

php - 将 404 重定向到类似的 url

mysql - 如何运行动态查询数组的事务

php - 如何使用 .htaccess 重写 example.com/catelogue.php?page=3&cat1=fruit&cat2=apple

mysql - 如何回退到 'WHERE' 子句 sql 中的不同值?

MySQL 结果集

php - 在对数据数组进行操作时,PDO 真的比 mysql_* 更快吗?

php - 无法使用 PHP/PDO 在 mySQL DB 上更新/插入

php - 将\DateTimeImmutable 转换为\DateTime

php - jQuery 或 Javascript 解决方案删除特定标签但保留其余部分