MySQL Where mit Funktion

Hallo zusammen,
ich verzweifle gerade an einer MySQL Query. Ich möchte den Datensatz des aktuellen Jahres haben. Die Daten liegen in UnixTime vor. Für jedes Jahr ein Datensatz. Ohne die Where bekomm ich alle Daten aller Jahre. Fehler wird keiner ausgegeben.
hier die Abfrage:

        $SQLTable = $TBL_Wetter_AstroEvents_1;
        $db_selected = mysql_select_db($db, $MySQLConn);

        $sql_Ergebnis = mysql_query("SELECT DateX, FruehjahrTagNachtGleiche, SommerSonnwend, HerbstTagNachtGleiche, Wintersonnwend
                                                FROM " . $SQLTable . //";")
                                                " WHERE YEAR(DateX) = YEAR(CURDATE());") //CURDATE() bringt keinen Fehler. getDate()bringt: '':FUNCTION IPS.getDate does not exist
                                                OR die("'".$sql_Ergebnis."':".mysql_error());
      //$data = mysql_fetch_array($sql_Ergebnis, MYSQL_ASSOC); // wenn die Zeile aktiviert wird, beginnt der TimeStamp einen Tag später. ?? warum?? nicht gelöst.
        $i = 0;
            while($data = mysql_fetch_array($sql_Ergebnis, MYSQL_ASSOC))
            {
                //echo "datentreffer";
                print_r(date("d.m.Y",$data['FruehjahrTagNachtGleiche'])."
");
                //$TagNachtGleiche1 = $data['FruehjahrTagNachtGleiche'];
                //print_r($TagNachtGleiche1);
            }
      $i++;

Hat jemand einen Tipp wo ich ansetzen muss? Datenformat, Syntax, … ?

Wenn ich vor der Abfrage $YearX = date(‚Y‘); deklariere und die where-Zeile so gestalte gibts auch nix aus:

" WHERE YEAR(DateX) = ".$YearX.";")

Keine Daten, kein Fehler.

Danke für Eure Hilfe

Meine Vermutung ist das [LEFT]YEAR(DateX) das DateX nicht umgewandelt werden kann. Dann gibt YEAR -> 0000 zurück.

am besten postest du mal einen Beispieldatensatz, dann kömmer mehr analysieren.

Grüße
Frank[/LEFT]

Hallo Frank,
danke für Dein Hilfsangebot.
Hier ein ErgebnisDatensatz wenn ich die Abfrage ohne Where mache:
print_r(date(„d.m.Y“,$data[‚FruehjahrTagNachtGleiche‘])." „.$data[‚DateX‘].“ „.Date(„d.m.Y“,$data[‚DateX‘]).“
");

20.03.2012 1325372400 01.01.2012

Hallo Frank,
hab endlich die richtige Seite in der MySQL-Doku gefunden. In o.g. Fall heisst das Zauberwort FROM_UNIXTIME(). Funktioniert.
Unten noch mal die Komplette Abfrage.

        $SQLTable = $TBL_Wetter_AstroEvents_1;
        $db_selected = mysql_select_db($db, $MySQLConn);

        $sql_Ergebnis = mysql_query("SELECT DateX, FruehjahrTagNachtGleiche, SommerSonnwend, HerbstTagNachtGleiche, Wintersonnwend
                                                FROM " . $SQLTable . //";")
                                                " WHERE YEAR(FROM_UNIXTIME(DateX)) = YEAR(CURDATE());")
                                                OR die("'".$sql_Ergebnis."':".mysql_error());
      //$data = mysql_fetch_array($sql_Ergebnis, MYSQL_ASSOC); // wenn die Zeile aktiviert wird, beginnt der TimeStamp einen Tag später. ?? warum?? nicht gelöst.
        $i = 0;
            while($data = mysql_fetch_array($sql_Ergebnis, MYSQL_ASSOC))
            {
                //echo "datentreffer";
                print_r(date("d.m.Y",$data['FruehjahrTagNachtGleiche'])." ".$data['DateX']." ".Date("d.m.Y",$data['DateX'])."
");
                //$TagNachtGleiche1 = $data['FruehjahrTagNachtGleiche'];
                //print_r($TagNachtGleiche1);
            }
      $i++;