problem mit datenbankauslesung

Hallo,
Ich hab ein Problem mit dem auslesen von Daten aus der Datenbank und zwar folgendes dass die Daten nicht immer angezeigt werden wenn ich sie aufrufen will, momentan regle ich das mit folgendem code:

PHP:
$result = mysql_query( "SELECT * FROM teilnehmer where id='$id'");
$num_rows = mysql_num_rows($result);

$teilnehmer = mysql_fetch_array($result);
$id = $result[id];

& wenn ich dann zb mitglied.php?id=1 aufrufe werden die daten aus der Spalte nicht immer ausgelesen.

Hat wer von euch vll ne sichere Methode?

lg
 
register_globals ist das Stichwort, denk ich mal (Google für Informationen). Du musst vorher $id setzen, wenn register_globals aus ist (was es auch standartgemäß ist und sein sollte). Da du es per GET übergibst also:
PHP:
if(isset($_GET['id']))
{
    $id = intval(abs($_GET['id']));
}
else
{
    echo 'Keine ID';
    exit;
}
$result = mysql_query("SELECT * FROM teilnehmer WHERE id='$id'") or die(mysql_error());
$num_rows = mysql_num_rows($result);

$teilnehmer = mysql_fetch_array($result);
$id = $result['id'];
 
Zurück