Id ausgeben

Warum gibt der keine Id aus?

[code]$mysql = mysql_query(‘SELECT ID FROM user WHERE Mail = ‘$mail’’);
$id = mysql_fetch_array($mysql);

$_SESSION[“user_id”] = $id;

echo “Hallo “.$_SESSION[‘user_id’].””; [/code]

die Funktion mysql_fetch_array() gibt ein Array zurück, mit sowohl einem Index, wie auch einem Assoziativem Schlüssel.
Wenn du also auf die ID zugreifen willst, musst du schon

$ds = mysql_fetch_array($query); $id = $ds['ID'];

da mysql_fetch_array() allerdings alle Daten doppelt zurück gibt, empfiehlt sich eher die Verwendung von mysql_fetch_assoc(), die Verwendung ist hier die gleiche.

Aber der liefert noch immer kein Wert.
Ich wollte ihn mir mit echo ausgeben lassen, aber da stand nichts.
Hier mein Code:

$query = mysql_query('SELECT ID FROM user WHERE Mail = \'$mail\''); 
$ds = mysql_fetch_array($query);
$id = $ds['ID'];

  $_SESSION["user_id"] = $id;

  echo $id;   

mach print_r($ds); und schau was dabei rauskommt.

Hast du das error_reporting auf E_ALL und display_errors auf on gestellt?

Mache eine Kontrollausgabe deines mit PHP zusammengebastelten Query-Strings, und nutze mysql_error.

Lies im Manual nach, welche Rückgabewerte die beteiligten Funktionen liefern können, und welche Schlüsse man aus ihnen ziehen kann.
Gewöhne dir allgemein eine sinnvolle Debugging-Strategie an.

Da ist kein Fehler drin. Bei mysql_error wird gar nichts ausgegeben und bei mysql_errno wird 0 geliefert.

Na dann funktioniert ja alles bestens.