T
tux.ICBlood
Guest
Ich habe in disen PHP Script einen komischen Fehler.
CODE <?php
function list_film($order) {
include('config.php');
include('log_writer.php');
$verbindung="mysql_connect($mysql_server,$mysql_name,$mysql_passwort)";
if (!$verbindung) {
$ausgabe['inhalt']="<div id=\"fullpage\"><h1 style=\"background-color: #864bb0;\">Fehler: Verbindung zur Datenbank fehlgeschlagen</h1><p>Es ist ein Fehler bei der Verbindung zur Datenbank aufgetreten. Vielleicht ist der Server &uuml;berlastet, oder kurzeitig ausser Betrieb.<br />Versuchen Sie es doch sp&auml;ter noch mal.</p></div>";
$ausgabe['titel']="Fehler";
$ausgabe['meta_text']="";
log_writer("Verbindung zur Datenbank fehlgschlagen");
return $ausgabe;
} else {
$selectdb="mysql_select_db($mysql_datenbank)";
if (!$selectdb) {
$ausgabe['inhalt']="<div id=\"fullpage\"><h1 style=\"background-color: #864bb0;\">Fehler: Auswahl der Datenbank fehlgeschlagen</h1><p>Der Server hat die Datenbank mit den gew&uuml;nschten Informationen nicht gefunden.<br />Dieser Fehler sollte eigentlich nicht erscheinen. Es kann aber sein, dass gerade ein Umbau im System stattfindet.<br />Versuchen Sie es doch sp&auml;ter noch einmal.</p></div>";
$ausgabe['titel']="Fehler";
$ausgabe['meta_text']="";
log_writer("Auswahl der Datenbank fehlgeschlagen");
return $ausgabe;
} else {
if (($order=="")||(($order!="titel")||($order!="jahr"))) {
$order="titel";
}
if ($order=="jahr") {
$sql="SELECT id,titel,jahr FROM filme ORDER BY jahr ASC";
}
if ($order=="titel") {
$sql="SELECT id,titel,jahr FROM filme ORDER BY titel ASC";
}
$sql="SELECT id,titel,jahr FROM filme ORDER BY titel ASC";
$ergebniss=mysql_query($sql);
if (!$ergebniss) {
log_writer("SQL Abfrage war fehlerhaft");
$ausgabe['inhalt']="<div id=\"fullpage\"><h1 style=\"background-color: #864bb0;\">Fehler: Anfrage an die Datenbank war Fehlerhaft</h1><p>Die SQL-Abfrage an die Datenbank war fehlerhaft. Hier handelt es sich eindeutig um einen Programmierfehler.<br />Versuchen Sie es doch sp&auml;ter noch einmal.</p></div>";
$ausgabe['titel']="Fehler";
$ausgabe['meta_text']="";
return $ausgabe;
} else {
if (mysql_num_rows($ergebniss) == 0) {
$ausgabe['inhalt']="<div id=\"fullpage\"><h1 style=\"background-color: #864bb0;\">Fehler: Keine Filme vorhanden</h1><p>Bisher sind leider noch keine Filme verf&uuml;gbar.<br />Versuchen Sie es doch sp&auml;ter noch einmal.</p></div>";
$ausgabe['titel']="Fehler";
$ausgabe['meta_text']="";
log_writer("Keine Filme vorhanden");
return $ausgabe;
} else {
while ($allefilme = mysql_fetch_array($ergebniss)) {
$jahr=$allefilme['jahr'];
$titel=$allefilme['titel'];
$link=str_replace(" ","_",$titel);
$inhalt.="<a href=\"/filme/$link\">$titel</a> - $jahr";
}
$ausgabe['inhalt']="<div id=\"fullpage\"><h1 style=\"background-color: #864bb0;\">Filme</h1><p>$inhalt</p></div>";
$ausgabe['titel']="Liste der Filme";
$ausgabe['meta_text']="Bla";
return $ausgabe;
}
}
}
}
}
?>
mysql_query() schlägt fehl, ich weis aber nicht warum.
Wenn ich SELECT id,titel,jahr FROM filme ORDER BY titel ASC direckt an die MySQL Datenbank sende bekomme ich ein Ergebniss.
Was ist das falsch?
Das orginal script zumindest die eingabaute funktion gibt es hier: www.filme-aus-deutschland.de/filme
CODE <?php
function list_film($order) {
include('config.php');
include('log_writer.php');
$verbindung="mysql_connect($mysql_server,$mysql_name,$mysql_passwort)";
if (!$verbindung) {
$ausgabe['inhalt']="<div id=\"fullpage\"><h1 style=\"background-color: #864bb0;\">Fehler: Verbindung zur Datenbank fehlgeschlagen</h1><p>Es ist ein Fehler bei der Verbindung zur Datenbank aufgetreten. Vielleicht ist der Server &uuml;berlastet, oder kurzeitig ausser Betrieb.<br />Versuchen Sie es doch sp&auml;ter noch mal.</p></div>";
$ausgabe['titel']="Fehler";
$ausgabe['meta_text']="";
log_writer("Verbindung zur Datenbank fehlgschlagen");
return $ausgabe;
} else {
$selectdb="mysql_select_db($mysql_datenbank)";
if (!$selectdb) {
$ausgabe['inhalt']="<div id=\"fullpage\"><h1 style=\"background-color: #864bb0;\">Fehler: Auswahl der Datenbank fehlgeschlagen</h1><p>Der Server hat die Datenbank mit den gew&uuml;nschten Informationen nicht gefunden.<br />Dieser Fehler sollte eigentlich nicht erscheinen. Es kann aber sein, dass gerade ein Umbau im System stattfindet.<br />Versuchen Sie es doch sp&auml;ter noch einmal.</p></div>";
$ausgabe['titel']="Fehler";
$ausgabe['meta_text']="";
log_writer("Auswahl der Datenbank fehlgeschlagen");
return $ausgabe;
} else {
if (($order=="")||(($order!="titel")||($order!="jahr"))) {
$order="titel";
}
if ($order=="jahr") {
$sql="SELECT id,titel,jahr FROM filme ORDER BY jahr ASC";
}
if ($order=="titel") {
$sql="SELECT id,titel,jahr FROM filme ORDER BY titel ASC";
}
$sql="SELECT id,titel,jahr FROM filme ORDER BY titel ASC";
$ergebniss=mysql_query($sql);
if (!$ergebniss) {
log_writer("SQL Abfrage war fehlerhaft");
$ausgabe['inhalt']="<div id=\"fullpage\"><h1 style=\"background-color: #864bb0;\">Fehler: Anfrage an die Datenbank war Fehlerhaft</h1><p>Die SQL-Abfrage an die Datenbank war fehlerhaft. Hier handelt es sich eindeutig um einen Programmierfehler.<br />Versuchen Sie es doch sp&auml;ter noch einmal.</p></div>";
$ausgabe['titel']="Fehler";
$ausgabe['meta_text']="";
return $ausgabe;
} else {
if (mysql_num_rows($ergebniss) == 0) {
$ausgabe['inhalt']="<div id=\"fullpage\"><h1 style=\"background-color: #864bb0;\">Fehler: Keine Filme vorhanden</h1><p>Bisher sind leider noch keine Filme verf&uuml;gbar.<br />Versuchen Sie es doch sp&auml;ter noch einmal.</p></div>";
$ausgabe['titel']="Fehler";
$ausgabe['meta_text']="";
log_writer("Keine Filme vorhanden");
return $ausgabe;
} else {
while ($allefilme = mysql_fetch_array($ergebniss)) {
$jahr=$allefilme['jahr'];
$titel=$allefilme['titel'];
$link=str_replace(" ","_",$titel);
$inhalt.="<a href=\"/filme/$link\">$titel</a> - $jahr";
}
$ausgabe['inhalt']="<div id=\"fullpage\"><h1 style=\"background-color: #864bb0;\">Filme</h1><p>$inhalt</p></div>";
$ausgabe['titel']="Liste der Filme";
$ausgabe['meta_text']="Bla";
return $ausgabe;
}
}
}
}
}
?>
mysql_query() schlägt fehl, ich weis aber nicht warum.
Wenn ich SELECT id,titel,jahr FROM filme ORDER BY titel ASC direckt an die MySQL Datenbank sende bekomme ich ein Ergebniss.
Was ist das falsch?
Das orginal script zumindest die eingabaute funktion gibt es hier: www.filme-aus-deutschland.de/filme