Pfad zu SWF-Datei aus DB auslesen

Da kommt

Parse error: syntax error, unexpected T_VARIABLE in /mnt/web2/21/16/5170/htdocs/showswf1.php on line 12

Zeile 12 ist:

PHP:
$data = @MYSQL_RESULT($result,0,"pfad");
 
machs mal so und direkt aufrufen:
PHP:
<?php
if(isset($_GET['id'])) {

    // you may have to modify login information for your database server:
    @MYSQL_CONNECT("", "", "")

    @mysql_select_db("");

    $query = "select pfad, filetype from swf where id=$id";
    $result = @MYSQL_QUERY($query);

    $data = @MYSQL_RESULT($result,0,"pfad");
    $type = @MYSQL_RESULT($result,0,"filetype");
    var_dump($data);
    var_dump($type);
    exit;

    Header( "Content-type: $type");
    readfile($data);exit();

};
?>
 
Jetzt kommt als Ausgabe: NULL

Heißt das jetzt kein Fehler oder kein Wert um das Bild darzustellen?
 
Zuletzt bearbeitet:
Wenn ich den Content-Typ und den Pfad zum Bild im Script manuel definiere und das Script dirket aufrufe geht es!
Kann es sein das ich die Tabellenfelder flasch formatiert habe?
Habe die Tabelle neu erstellt und statt CHAR, VARCHAR genommen, außerdem habe ich die Einträge in Klammern gesetzt aber es funktioniert trotzdem nicht.

PHP:
<?php
if(isset($_GET['id'])) {

    @MYSQL_CONNECT("", "", "")

    @mysql_select_db("");

    $query = "select pfad, filetype from swf where id=$id";
    $result = @MYSQL_QUERY($query);

    $data = @MYSQL_RESULT($result,0,"pfad");
    $type = @MYSQL_RESULT($result,0,"filetype");

    Header( "Content-type: image/jpeg");
    readfile("http://www.domain.de/test.jpg");exit();

};
?>

PS.: Funktioniert auch mit Flash und egal ob der Pfad relative oder absolute ist.
 
Hi

sage doch mal was hier herauskommt:
PHP:
<?php
error_reporting(E_ALL);
if(isset($_GET['id'])) {

    // you may have to modify login information for your database server:
    @MYSQL_CONNECT("", "", "")

    @mysql_select_db("");

    $query = "select pfad, filetype from swf where id=$id";
    $result = @MYSQL_QUERY($query);
   
    while( $row = mysql_fetch_assoc($result) ){
      var_dump($row);
      echo "<br />";
    }
    exit;
    Header( "Content-type: $type");
    readfile($data);exit();

};
?>
 
debuge mal $data und $type mit var_dump(). Achte bei der Ausgabe, ob da Leerzeichen, komische Pfadtrennzeichen oder sonstwas dabei ist
(ignoriere die Fehlermeldung nach der Ausgabe dieser 2 Variablen....)

PHP:
    $data = @MYSQL_RESULT($result,0,"pfad");
    $type = @MYSQL_RESULT($result,0,"filetype"); 
var_dump($data, $type);
 
Wenn ich das ausführe kommt:

Notice: Undefined variable: id in showswf.php on line 9

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in showswf.php on line 12


Line9:
PHP:
$query = "select pfad, filetype from swf where id=$id";

Line12:
PHP:
while( $row = mysql_fetch_assoc($result) ){

Line12 ist denk ich mal uninterresant.
Was mich verwundert ist das id eine undefinierte Variable ist.

Als ich die Tabelle erstellt habe, habe ich die Splate ID so formatiert.

id INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY

und ein Wert ist auch vergeben.
 
Du solltest das @ vor den Funktionen entfernen. Damit unterdrückst du Fehlermeldungen. Darum hast du auch keinen Hinweis was der Fehler sein kann.
So wie es aussieht wird dein SQL nicht richtig akzeptiert.
Dazu habe ich ein Tutorial um den Fehler zu finden:
PHP MySQL Debug Queries
 
Zurück