DB Sql Bilder anzeigen lassen

wildstar

Mitglied
Erstmal schönen guten Tag.
Seit Tagen such ich nun schon in diesen fantastischen Forum und bin auch schon auf änliche Probleme gestoßen, die mich leider auch nicht so viel weitergebracht haben.

Der Bilderupload "bilderupload.php" zur Sql-datenbank funktioniert wunderbar.

Mit dem folgenden Script "bilderansicht.php" bekomm ich bereits die if {Abfrage-Meldung} "Keine Datei ausgesucht".
Der include(connect.php) funktioniert auch, da ich die selbe auch für den Upload verwende.
Meine Sql-Datenbank ist mit Bildern vollgetankt. Warum erkennt der nicht die ID von meiner DB, obwohl ich in meiner DB für jedes Bild automatisch eine ID zugeordnet bekomme?
Wo liegt hier der Fehler

"bilderansicht.php:"

<?php
if(!$_GET['ID'])
{die('<h1>Keine Datei ausgesucht</h1>');}
include('connect.php');
$sqlS = "SELECT ";
$sqlS.=" datei, dateityp FROM ".$tabellenname;
$sqlS.=" WHERE ID = '".mysql_real_escape_string($_GET['ID'])."'";
$result=@mysql_query($sqlS, $link);
if(mysql_num_rows($result)==1)
{
$data = mysql_result($result,0, 0);
$typ = mysql_result($result,0, 1);
$kopf="Content-type: ".$typ;
header($kopf);
echo $data;
}
else
{
die('<h1>Der Download ist gescheitert</h1>');
}
?>



Vielen Dank schon an die jenigen die mich Unterstützen wollen.
 
Probier mal Folgendes:
PHP:
<?php

	if( !isset($_GET['ID']) ) {
		header($_SERVER['SERVER_PROTOCOL'].' 412 Precondition Failed', true);
		// echo 'Keine Datei angegeben!';
		exit;
	}

	include 'connect.php';

	$query = '
		SELECT
		        `datei`,
		        `dateityp`
		  FROM
		        `'.$tabellenname.'`
		  WHERE
		        `ID` = "'.mysql_real_escape_string($_GET['ID']).'"
		';
	$result = @mysql_query($query, $link);
	
	if( $result === false ) {
		header($_SERVER['SERVER_PROTOCOL'].' 500 Internal Server Error', true);
		// echo 'Datenbankabfrage schlug fehl!';
		exit;
	}
	$record = mysql_fetch_assoc($result)

	header('Content-Type: '.$record['dateityp']);
	echo $data;
	exit;

?>
 
Danke Gumbo,
hab den Vorschlag von Dir eingebaut und ich habe leider keine pos. Nachricht.
Habe leider nur ne weiße Seite erhalten.

Nebenfrage: Was bedeutet die SERVER-PROTOCOL (wird da eine Nachricht vom Server hergeholt? )
 
Nebenfrage: Was bedeutet die SERVER-PROTOCOL (wird da eine Nachricht vom Server hergeholt?)
Lass dir doch einfach den Wert der Variable ausgeben.

Zu deinem eigentlichen Anliegen: Gibt es denn eine Fehlermeldung? Entferne mal die Kommentarzeichen der beiden Kommentare. Möglicherweise ist es auch erfolderlich, die Fehlersensibilität PHPs zu erhöhen um etwaige unterdrückte Fehlermeldungen auszugeben:
PHP:
<?php

	ini_set('display_errors', 1);
	error_reporting(E_ALL);

	…

?>
 
....Wenn ich die Klammern wegkicke, dann bekomme ich die Fehlermeldung, das keine Datei ausgesucht wurde.
Ich versteh die Welt nicht, warum das nicht so mit den blob`s klappt, wie mit den texten.?
Es muss doch ne lösung geben, wie ich die Bilder auch auf meine Seite bekomme.
 
Hi Gumbo,
die Abrage mache ich in der ersten Zeile. (Der liest mir die übergebene ID nicht aus)

if(!$_GET['ID'])
{
die('Es wurden keine Daten ausgesucht')
}
include("../../includes/connect.php"); //Einbinden der DB-Verbindung über externe Datei.

und dann stelle ich eine Abrage an die Datenbank.

Liegt es daran, das er noch keine Verbindung zur Datenbank hat?
 
Gib einfach die gewünschte Bild-ID als URL-Argument an: bilderansicht.php?ID=x. Das Skript ist doch so entwickelt, dass es bei Nichtangabe einen Fehlerstatus zurücksendet.
 
Zurück