1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Datenbank Abfrage funktioniert nicht

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von Rudi-Ratlos, 14 April 2013.

  1. Rudi-Ratlos

    Rudi-Ratlos Neuer Benutzer

    Kann mir jemand bei der Datenbank Abfrage helfen.
    Hab mal was versucht geht aber nicht.

    PHP:
    // Datenbankverbindung steht 

       
    $zahl1 $_POST["zahl1"];
       
    $zahl2 $_POST["zahl2"];
       
    $zahl3 $_POST["zahl3"];
       
    $zahl4 $_POST["zahl4"];
       
    $zahl5 $_POST["zahl5"];
       
    $zahl6 $_POST["zahl6"];

    // Hier müßte die Abfrage stehen

       
    $abfrage "SELECT id
       FROM lotto
       WHERE @wert IN (zahl1, zahl2, zahl3, zahl4, zahl5, zahl6)
       
    $ergebnis = mysql_query($abfrage);
       
    $row = mysql_fetch_object($ergebnis);
    Kann mir jemand Helfen
     
  2. akretschmer

    akretschmer Datenbank-Guru


    Was nutzt Du für komische Spaltennamen? Ich habe mal eine Tabelle erstellt:

    Code:
    mysql> create table lotto (`@wert` int);
    Query OK, 0 rows affected (0.00 sec)
    
    Warum folgende 2 Abfragen auf diese selbe Tabellen so wie folgend unterschiedlich reagieren ist mir unklar.
    Die erste sollte einen Fehler liefern oder aber dasselbe wie die 2. Abfrage. Einfach nur FAIL.

    Code:
    mysql> select * from lotto where @wert in (1,2);
    Empty set (0.00 sec)
    
    mysql> select * from lotto where `@wert` in (1,2);
    +-------+
    | @wert |
    +-------+
    |     1 |
    |     2 |
    +-------+
    2 rows in set (0.00 sec)
    
    Dein Code ist massiv anfällig für SQL-Injection, Du hast keinerlei Fehlerprüfung, die PHP-Mysql-Extension ist deprecated, MySQL insgesamt Murks.
     
  3. Rudi-Ratlos

    Rudi-Ratlos Neuer Benutzer

    Es geht um Lottozahlen.
    Es werden über ein Formular 6 Zahlen eingegeben.
    Dann soll mit SQL abgefragt werden, ob die 6 Zahlen schon mal gezogen wurden , also in der Datenbank vorkommen und die ID Nummer wiedergeben. Die Reihenfoge der gezogenen Zahlen soll dabei keine Rolle spielen.


    So sieht die Datenbank aus.


    id,tag,monat,jahr,zahl1,zahl2,zahl3,zahl4,zahl5,zahl6
    1,9,10,1955,13,41,3,23,12,16
    2,16,10,1955,12,32,30,49,3,18
    3,23,10,1955,34,12,14,24,36,23
    4,30,10,1955,30,13,36,44,23,4
    5,6,11,1955,31,44,6,49,5,39
    6,13,11,1955,29,44,6,37,22,18
    7,20,11,1955,27,44,8,16,12,4
    8,27,11,1955,26,37,9,44,46,24
    9,4,12,1955,47,20,31,26,21,5
    10,11,12,1955,10,26,37,8,31,22
    11,18,12,1955,26,8,42,39,36,14
    12,26,12,1955,34,38,42,39,9,5
     
  4. akretschmer

    akretschmer Datenbank-Guru

    Im anderen Forum hast ja schon eine Antwort. Dem ist eigentlich nichts hinzuzufügen. Außer das Crossposting nicht gern gesehen wird. Nirgends.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden