2 MYSQL Tabellen Abfragen

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
  • Hallo Zusammen,


    ich versuche Grade aus 2 Tabellen auszulesen aber es will nicht so recht, um eine Id zu finden die in den §_POST[] drin ist.
    Ich habe jetzt schon 2 Möglichkeiten Versucht, beide scheiterten.


    1.

    SQL
    $database->runSQL("SELECT * FROM gameslot WHERE id = '".$_POST['BestellenID']."' UNION SELECT * FROM Webspace WHERE id = '".$_POST['BestellenID']."'");


    2.

    SQL
    $database->runSQL("SELECT * FROM gameslot, Webspace  WHERE id = '".$_POST['BestellenID']."''");


    Keine der beiden Funktioniert, kann mir da ihren wer weiter helfen?
    Mit freundlichen Grüßen
    Kifkat
    //edit


    Fast die Fehler Meldung Vergessen ;D

    PHP
    The used SELECT statements have a different number of columns
    SELECT * FROM gameslot WHERE id = '14' UNION SELECT * FROM Webspace WHERE id = '14'
  • Zitat

    The used SELECT statements have a different number of columns

    ... die Tabellen müssen die gleichen Spalten haben ;)


    Das kannst du lösen, indem du das ein bischen "umschreibst"

    SQL
    SELECT `price` AS `price`, `slots` AS `size`, 0 AS `webspace` FROM gameslot WHERE id = '".$_POST['BestellenID']."' UNION SELECT `price` AS `price`, `gigabyte` AS `size`, 1 AS `webspace` FROM Webspace WHERE id = '".$_POST['BestellenID']."'

    Und du kannst auch gleich abfragen, ob Webspace oder Gameserver angefordert wurden ( webspace == 0 -> Gameserver, webspace == 1 -> Webspace )


    Edit: Wenn du nur prüfen willst, ob existiert...

    SQL
    SELECT COUNT(SELECT id FROM gameserver WHERE id = [id]) + COUNT(SELECT id FROM webspace WHERE id = [id]) FROM gameserver WHERE 1 = 1 LIMIT 0,1;

    Okay, etwas unsauber, aber naja ^^

  • Blick da zwar nicht Ganz duch aber ich versuch mal mein Glück :D

    Du brauchst identische Feldnamen, musst die also so umschreiben, dass es passt ;)
    Das wird mit SELECT bla AS blub gemacht, damit wird die Spalte bla in blub umbenannt.