Niko Mühlhans: MySQL Abfrage mit Bedingung

Hallo,

ich will eine kleine Abfrage an eine MySQL Datenbank machen, bei der unter anderem ein Integer-Wert als Bedingung enthalten sein muss (Alter jünger als 30, bzw. zwischen 31 und 50). Die anderen Bedingung funktionieren alle, nur sobald ich die Spalte 'alter' (INT) mit der unten angegeben query anfrage, bekomme ich eine Fehlermeldung.

Zeile 46:$abfrage = mysql_query("SELECT * FROM tabelle WHERE alter < 30");
Zeile 47:$anzahl_ergebnisse_der_abfrage = mysql_num_rows($abfrage);

Fehlermeldung:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in datei.php on line 47

Habe auch schon "WHERE alter BETWEEN 31 AND 50" probiert, aber auch das bringt die gleiche Fehlermeldung.

  1. Hallo Niko,

    Zeile 46:$abfrage = mysql_query("SELECT * FROM tabelle WHERE alter < 30");
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in datei.php on line 47

    was sag mysql_error()? (hinter mysql_query() noch ein 'or die(mysql_error())' dranhängen)

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
    1. Hallo Niko,

      Zeile 46:$abfrage = mysql_query("SELECT * FROM tabelle WHERE alter < 30");
      Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in datei.php on line 47
      was sag mysql_error()? (hinter mysql_query() noch ein 'or die(mysql_error())' dranhängen)

      Grüße aus Nürnberg
      Tobias

      Dabei kam das heraus:
      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 < 30' at line 1

      Server Version:
      MySQL 4.0.18

  2. Hallo,

    Zeile 46:$abfrage = mysql_query("SELECT * FROM tabelle WHERE alter < 30");

    ALTER ist ein reserviertes Wort -- verwende einen anderen Feldbezeichner.

    MfG, Thomas

    --
    SVG - Learning By Coding
    http://svglbc.datenverdrahten.de/
    1. Hallo,

      Zeile 46:$abfrage = mysql_query("SELECT * FROM tabelle WHERE alter < 30");

      ALTER ist ein reserviertes Wort -- verwende einen anderen Feldbezeichner.

      MfG, Thomas

      Ok, Vielen vielen Dank.

      Da war also das Problem begraben ;)

      1. yo,

        Da war also das Problem begraben ;)

        noch als kleiner tipp, nicht das alter speichern, sondern das geburtsdatum. das alter ändert sich nämlich, das geburtsdatum nicht, aber das alter läßt sich daraus berechen...

        Ilja