Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Tidak dapat mengambil data gambar dari tabel dan menampilkan gambar

Pertama, Anda perlu menyimpan gambar dari output file_get_contents ke basis data Anda. Dan kemudian Anda memasukkannya ke imagecreatefromstring dan tunjukkan gambar Anda.

Berikut contoh sederhananya. Mungkin ini bisa membantu Anda :)

$data = file_get_contents("ACL.jpg");
$img = imagecreatefromstring($data);
header("Content-Type: image/jpeg");
imagejpeg($img);

EDIT :

Anda hanya perlu memasukkan kode ini :

$statement->bind_result($imageid, $title, $image)
while ($statement->fetch()) {
    if ($image == NULL) {
        echo "Image data does not exist!";
    } else {
        $img = imagecreatefromstring($image);
        header("Content-Type: image/jpeg");
        imagejpeg($img);
    }

}

EDIT PERBAIKAN :

uploads.php

Dalam file ini Anda perlu mengubah $statement->bind_param('sb', $title, $content); Anda menjadi $statement->bind_param('ss', $title, $content);

if (isset($_POST['submit'])) {
    $title = $_FILES['image']['name'];
    $data = $_FILES['image']['tmp_name'];
    $content = file_get_contents($data);
    $query = "INSERT INTO images (title, image) VALUES (?, ?)";
    $statement = $databaseConnection->prepare($query);
    $statement->bind_param('ss', $title, $content);
    $statement->execute();
    $statement->store_result();
    $creationWasSuccessful = $statement->affected_rows == 1 ? true : false;
    if ($creationWasSuccessful)
    {
        echo "Works!";
    } else {
        echo 'failed';
    }
}

showimage.php dan kemudian Anda menunjukkannya menggunakan ini :

$img = imagecreatefromstring($image); header("Content-Type: image/jpeg"); imagejpeg($img); dalam pernyataan terakhir Anda

if (isset($_GET['id'])) {

    $id = $_GET['id'];
    $query = "SELECT id,title,image FROM images WHERE id = ?";
    $statement = $databaseConnection->prepare($query);
    $statement->bind_param('i', $id);

    $statement->execute();
    $statement->store_result();

    if ($statement->num_rows >= 1)
    {
        $statement->bind_result($imageid, $title, $image)
        while ($statement->fetch()) {
            if ($image == NULL) {
                echo "Image data does not exist!";
            } else {
                $img = imagecreatefromstring($image);
                header("Content-Type: image/jpeg");
                imagejpeg($img);
            }

        }        
    }
}

Semoga ini berfungsi dengan baik juga, saya sudah mengujinya dan berjalan dengan baik ... :)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Masalah dengan mysqldump:--defaults-extra-file option tidak berfungsi seperti yang diharapkan

  2. Cara memasukkan ID kenaikan otomatis baru

  3. Membuat tabel dan masalah dengan kunci utama di Rails

  4. Berapa ukuran kueri maksimum untuk mysql?

  5. mysql tinyint(1) vs tinyint(2) vs tinyint(3) vs tinyint(4)