l0g1t3ch
Goto Top

INNER JOIN - als ob!

Hallo liebe Gemeinde,

Derzeit arbeite ich an einem Datenbankprojekt, doch leider stellt sich mir direkt recht früh ein kleiner stolperstein in den Weg face-sad

Dank meinem Freund Google habe ich in Erfahrung gebracht das es möglich ist Datenbanktabellen mit einem INNER JOIN Befehl zu verknüpfen.
Ebenso habe ich die Syntax für mich so glaube ich zumindest verstanden und auch umgesetzt, jedoch funktioniert der SQL_ORDER nicht so richtig.

Hier mal der SQL Befehl :

$SQL = 'SELECT * FROM guestbook INNER JOIN comment ON guestbook.id = comment.idg';  

Die Tabellen heißen wie oben zu erkennen, "guestbook" und "comment", die Spalte ID bei guestbook ist zugleich der Primärschlüssel welcher mit "auto_increment" gefüllt wird.
Die Tabelle comment enthält dafür eine "idg" Spalte ( steht für ID guestbook ), sie wird noch "manuell" gefüllt.

Das Ergebnis sollte ja so aussehen das er mir wenn ich dann sage

$test = mysql_query($SQL);
$zeile = mysql_fetch_array($test);

zumindest folgendes ausgibt bei echo $zeile['id']; bzw echo $zeile['idg'];

die beiden gleichen ID nummer oder? :D

Lieben Gruß Benjamin

Content-Key: 182749

Url: https://administrator.de/contentid/182749

Printed on: April 20, 2024 at 04:04 o'clock

Member: BadFsaadKl
BadFsaadKl Mar 28, 2012 at 15:21:58 (UTC)
Goto Top
Moin,

also SQL technisch sieht es richtig aus.
Hast du den Befehl mal direkt auf der Datenbank ausgeführt, ob hier die gewünschten Werte zurück kommen ?

MfG BadFsaadKl
Member: Midivirus
Midivirus Mar 28, 2012 at 19:09:46 (UTC)
Goto Top
grundsätzlich muss jede Spalte einen eindeutigen Namen haben. Es kann zwar zweimal ID geben, welches Ergebnis kommt, weiß ich nicht, da nie getestet.

sonst hol doch einfach mit " guestbook.id as guesid, comment.* " nur die gewollten Felder

Midi
Member: 07alex07
07alex07 Mar 29, 2012 at 06:53:36 (UTC)
Goto Top
Nie mit * arbeiten.
Immer die Felder schreiben, die man haben will


guestbook.FELD
comment.FELD

Oder so kürzer
$SQL = 'SELECT c.name, c.datum FROM guestbook AS g INNER JOIN comment AS c ON g.id = c.idg';