Supportnet / Forum / Datenbanken
mysql select as problem
Frage
Guten Tag,
ich möchte von einer mysql datenbank über php das alter eins benutzers auslesen. dieser hat vorher sein geburtsdatum eingegeben.
im internet hab ich folgendes select statement gefunden:
SELECT FLOOR(PERIOD_DIFF(EXTRACT(YEAR_MONTH FROM NOW()), EXTRACT(YEAR_MONTH FROM '1982-12-24')) / 12);
damit ich das ergebnis der select anfrage in eine variable speichern kann brauche ich ja die bezeichnung des array feldes
z.b. $abfrage['alter']
nur weiss ich bei dieser berechnung nicht den namen des array feldes.
bisher habe ich mir so geholfen, dass ich bei z.b. Count() "select count() as xy from.." gesagt habe.
nur: wo kommt bei der o.g. abfrage das "as alter" hin?
bei mir gibt es immer einen sql fehler.
vielen dank schonmal.
hardy155
Antwort 1 von son_quatsch
Ganz ans Ende:
SELECT FLOOR(PERIOD_DIFF(EXTRACT(YEAR_MONTH FROM NOW()), EXTRACT(YEAR_MONTH FROM '1982-12-24')) / 12) as ERG;Antwort 2 von hardy155
hallo und vielen dank schonmal.
ich habe das gerade folgendermaßen ausprobiert:
aber dann kommt folgender fehler:
mfg
hardy155
ich habe das gerade folgendermaßen ausprobiert:
$sql_alter = mysql_query('SELECT FLOOR(PERIOD_DIFF(EXTRACT(YEAR_MONTH FROM NOW() ) , EXTRACT(YEAR_MONTH FROM "'.$gb.'")) / 12) as alter')aber dann kommt folgender fehler:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'alter' at line 1mfg
hardy155
Antwort 3 von Supermax
"alter" ist in MYSQL ein reserviertes Wort ("ALTER TABLE..." etc.).
Nimm einfach einen anderen Namen, oder schreibe das "alter" in "Backticks".
Nimm einfach einen anderen Namen, oder schreibe das "alter" in "Backticks".
... AS `alter` ...Antwort 4 von hardy155
oh, verständlich!
vielen dank
vielen dank

