anic: Wie verwende ich eine mySQL Abfrage über 2 Tabellen mit PHP?

Hallo!

Wahrscheinlich eine blöde Frage, aber ich habe überall nach Beispielen gesucht und nix gefunden.

Problem: 2 Tabellen

Tabelle A: |Schluessel_A|Wert_1|Wert_2|
Tabelle B: |Schluessel_B|Schluessel_A|Wert_3|

und der Code dazu:
$abfrage=mysql_query("
  SELECT tabelle_A.*, tabelle_B.Wert_3
  FROM tabelle_A, tabelle_B
  WHERE tabelle_A.Schluessel_A=tabelle_B.Schluessel_A
  ",$datenbank);
$datensatz=mysql_fetch_array($abfrage);

Jetzt möchte ich aber nur die Spalten Wert_2 aus Tabelle A und Wert_3 aus Tabelle B ausgeben. Wie spreche ich die mit der Variablen $datensatz an?
$datensatz[Wert_2] bzw. $datensatz[Wert_3] funktioniert nicht.

Falls jemand irgendeine Idee hat wäre ich dankbar. Ich hänge da jetzt schon seit Stunden.

  1. Hallo anic!

    Probier mal:

    $datensatz->Wert_3;

    also zB

    print('Wert: ' . $datensatz->Wert_3 . '<br>');

    Wenns bei Wert_2 nicht klappt, musst du tabelle_A.* durch die einzelnen gewünschten Werte ersetzen - das weiß ich aber grad nicht.

    Bei Problemen nochmal posten.

    mfg

    norbert =:-)

    Hallo!

    Wahrscheinlich eine blöde Frage, aber ich habe überall nach Beispielen gesucht und nix gefunden.

    Problem: 2 Tabellen

    Tabelle A: |Schluessel_A|Wert_1|Wert_2|
    Tabelle B: |Schluessel_B|Schluessel_A|Wert_3|

    und der Code dazu:
    $abfrage=mysql_query("
      SELECT tabelle_A.*, tabelle_B.Wert_3
      FROM tabelle_A, tabelle_B
      WHERE tabelle_A.Schluessel_A=tabelle_B.Schluessel_A
      ",$datenbank);
    $datensatz=mysql_fetch_array($abfrage);

    Jetzt möchte ich aber nur die Spalten Wert_2 aus Tabelle A und Wert_3 aus Tabelle B ausgeben. Wie spreche ich die mit der Variablen $datensatz an?
    $datensatz[Wert_2] bzw. $datensatz[Wert_3] funktioniert nicht.

    Falls jemand irgendeine Idee hat wäre ich dankbar. Ich hänge da jetzt schon seit Stunden.

  2. Halihallo anic

    Wahrscheinlich eine blöde Frage, aber ich habe überall nach Beispielen gesucht und nix gefunden.

    Versuchs mal unter http://www.php.net und Begriff mysql_fetch_array ;-)

    $abfrage=mysql_query("
      SELECT tabelle_A.*, tabelle_B.Wert_3
      FROM tabelle_A, tabelle_B
      WHERE tabelle_A.Schluessel_A=tabelle_B.Schluessel_A
      ",$datenbank);

    Fehler der Datenbank abfragen! - mysql_error

    Jetzt möchte ich aber nur die Spalten Wert_2 aus Tabelle A und Wert_3 aus Tabelle B ausgeben. Wie spreche ich die mit der Variablen $datensatz an?
    $datensatz[Wert_2] bzw. $datensatz[Wert_3] funktioniert nicht.

    Schon richtig, wenn die Namen in Quotes stehen: $datensatz['Wert_2'].

    @Norbert: das ist IMHO nur bei mysql_fetch_object so!

    Viele Grüsse

    Philipp

    1. Hallo Philipp!

      Beides nicht unrichtig - man sollte halt aufmerksamer lesen ;-)

      mfg

      norbert =:-)

      Halihallo anic

      Wahrscheinlich eine blöde Frage, aber ich habe überall nach Beispielen gesucht und nix gefunden.

      Versuchs mal unter http://www.php.net und Begriff mysql_fetch_array ;-)

      $abfrage=mysql_query("
        SELECT tabelle_A.*, tabelle_B.Wert_3
        FROM tabelle_A, tabelle_B
        WHERE tabelle_A.Schluessel_A=tabelle_B.Schluessel_A
        ",$datenbank);

      Fehler der Datenbank abfragen! - mysql_error

      Jetzt möchte ich aber nur die Spalten Wert_2 aus Tabelle A und Wert_3 aus Tabelle B ausgeben. Wie spreche ich die mit der Variablen $datensatz an?
      $datensatz[Wert_2] bzw. $datensatz[Wert_3] funktioniert nicht.

      Schon richtig, wenn die Namen in Quotes stehen: $datensatz['Wert_2'].

      @Norbert: das ist IMHO nur bei mysql_fetch_object so!

      Viele Grüsse

      Philipp

    2. @ Norbert, Philipp

      Vielen Dank auch. Ich schaue mir die Seite an.

      Grüsse
      [anic]