Seite 1 von 1

redirect.php

Verfasst: 05.01.2007, 21:35
von mauk
Hallo,

ich habe ein Problem mit einem PHP-redirect. Das Script ist wie folgt:

<?
/*
Script zum Abruf eines Links aus der Datenbank und zum Redirect auf die entsprechende Seite.
Das Script muss wie folgt aufgerufen werden:
redirect.php?id=xxx
*/

$link = mysql_connect(.........);

if (!$link) {
die('Keine Verbindung möglich: ' . mysql_error());
}

$sql = "SELECT link_url FROM xxxx_ddd_sss WHERE id = " . (int)$_GET["id"];
$query = tep_db_query($sql);


if (mysql_num_rows($query))
{
$result = mysql_fetch_array($query);
header("Location: " . $result ['link_url']);
exit;
}
else
{
header("HTTP/1.0 404 Not Found");
echo "Der Eintrag mit der angegebenen ID existiert nicht!";
}

mysql_close($link);

?>

Wenn ich den Link dann ausführe erhalte ich immer eine Fehlermeldung:

Fatal error: Call to undefined function tep_db_query() in /srv/www/vhosts/musicals-360.de/httpdocs/redirect.php on line 20

Line 20 ist die fettgedruckte Reihe. Kann mir jemand einen Tipp geben was da falsch sein soll?

:o
mauk

Verfasst:
von

Verfasst: 05.01.2007, 21:56
von cren
Die Funktion tep_db_query() ist schlicht und einfach nicht bekannt an dieser Stelle. Nimm doch einfach mysql_query() dafür.

Verfasst: 06.01.2007, 10:46
von mauk
Hi Cren,

ich habe es jetzt versucht mit:

$query = mysql_query($sql) (ohne Semikolon und mit)

Funzt aber leider auch nicht.

:o
mauk

Verfasst:
von

Verfasst: 06.01.2007, 13:38
von cren
Semikolon danach muss sein ;)

Was heisst "es funzt nicht"? Kommt ne Fehlermeldung? Wenn ja, welche?

Verfasst: 06.01.2007, 14:12
von mauk
Ja, es kommt folgende Fehlermeldung:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /srv/www/vhosts/musicals-360.de/httpdocs/redirect.php on line 23

Warning: Cannot modify header information - headers already sent by (output started at /srv/www/vhosts/musicals-360.de/httpdocs/redirect.php:23) in /srv/www/vhosts/musicals-360.de/httpdocs/redirect.php on line 31
Der Eintrag mit der angegebenen ID existiert nicht!

:o
mauk

Verfasst: 06.01.2007, 14:23
von Graccem
Mach mal nach dem $query = mysql_query($sql); ein echo mysql_error();

Dann wird dir die Fehlermeldung der Datenbankabfrage ausgegeben.

Verfasst: 06.01.2007, 14:31
von mauk
Ich habe jetzt einmal:

$query = mysql_query($sql); $echo = mysql_error();

geschrieben. Die Fehlermeldung bleibt aber wie oben.

:o
mauk

Verfasst: 06.01.2007, 14:35
von net(t)worker
lass dir die $sql mal per echo ausgeben und lass die direkt über phpmyadmin etc auf der db laufen... da bekommst du dann entweder die richtige url angezeigt oder eine Fehlermeldung, oder stellst halt fest, dass für diese ID kein Eintrag in der db vorhanden ist....

Verfasst: 06.01.2007, 16:06
von cren
mauk hat geschrieben:Ich habe jetzt einmal:

$query = mysql_query($sql); $echo = mysql_error();

geschrieben...
Ändere das mal in

Code: Alles auswählen

$query = mysql_query&#40;$sql&#41; or die &#40;mysql_error&#40;&#41;&#41;;

Verfasst: 07.01.2007, 16:29
von mauk
Ich bekomme jetzt wieder eine Fehlermeldung "No Database Selected". Kann es sein, dass das Script nicht PHP5-fähig ist?

:o
mauk

Verfasst: 07.01.2007, 20:54
von cren
An PHP5 liegts nicht. Die Fehlermeldung ist ja recht eindeutig ;)

Schreib einfach nach deinem Datenbank-Connect:

Code: Alles auswählen

mysql_select_db&#40;'name_der_datenbank'&#41;;

Verfasst: 08.01.2007, 08:52
von marc75
Kann es sein, dass das Script nicht PHP5-fähig ist?
Kann es sein das du von PHP keinen blassen Schimmer hast?

Verfasst: 08.01.2007, 10:25
von mauk
Kann es sein das du von PHP keinen blassen Schimmer hast?
Ja!

:o
mauk