2 MYSQL Tabellen Abfragen

  • 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.