Ein Bild aus einer Datenbank mittels PHP

ersten mal mit stack-überlauf.

Ich habe den folgenden Teil 2 youtube tutorial über das hochladen/speichern ein Bild in einer MYSQL-Datenbank. Ich habe die Anweisungen befolgt, aber mein Bild wird nicht angezeigt bei mir. Ich benutze connect.php die Verbindung zu der Datenbank, das scheint einwandfrei zu funktionieren. Es scheint, das problem ist mit get.php als wenn ich testen echo keine Bilder von ihm bekomme ich immer noch kein Bild.
verwendet phpmyadmin um die Datenbank zu erstellen und bin mit xampp.

hier ist der link zu dem youtube-tutorials

http://www.youtube.com/watch?v=CxY3FR9doHI

http://www.youtube.com/watch?v=vFZfJZ_WNC4&feature=fvwrel

Enthalten sind die Dateien

<html>
<head>
    <title>Upload an image</title>
</head>
<body>

<form action="index.php" method="POST" enctype="multipart/form-data">
    File:   
<input type="file" name="image"> <input type="submit" value="Upload">
</form>

<?php

include 'connect.php';



//file properties
$file = $_FILES['image']['tmp_name'];

if(!isset($file))
    echo "Please select an image.";
else{

    $image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
    $image_name=addslashes($_FILES['image']['name']);
    $image_size = getimagesize($_FILES['image']['tmp_name']);

    if ($image_size==FALSE)
        echo "That's not an image.";
    else{
            if(!$insert = mysql_query("INSERT INTO store       VALUES('','$image_name','$image')"))
        echo"Problem uploading image";
    else{
        $lastid = mysql_insert_id();

        echo "image uploaded.<p />your image:<p /><img src=get.php?id=$lastid>";
        }
    }
}

?>
</body>
</html>

Hier get.php

<?php
include 'connect.php';

$id=stripslashes($_REQUEST('id'));
$image = mysql_query("SELECT * FROM store WHERE id=$id");
$image = mysql_fetch_assoc($image);
$image=$image('image');

header("content-type: image/jpeg");


?>

Und schließlich verbinden

<?php
//connect to database

$db_host="localhost";
$db_username="root";
$db_pass="";
$db_name="test";

@mysql_connect("$db_host","$db_username","$db_pass") or die("Could not connect to      mysql");
mysql_select_db("$db_name")or die("Cant find database");

?>
  • Ich sehe, dass du bist suprsessing Fehler an mindestens einer Stelle (der @ - symbol). Sind Sie auf der überprüfung der Rückgabewerte bei allen? Überprüfen Sie Ihr Fehlerprotokoll?
  • $_REQUEST('id') sollte $_REQUEST['id'] sowie
  • +1 für eine gute erste Frage, die enthalten alle relevanten code und mit einer guten Menge an Informationen.
InformationsquelleAutor user773356 | 2011-05-27
Schreibe einen Kommentar