PHP SELECT Abfrage
Russ
- php
Hallo ihr,
Ich habe eine Abfrage die einge werte Ausgeben soll... dennoch gibt das mysql_fetch_array dann keine werte zurück. :-/
$abfrage = "SELECT t1.uid, t2.Nutzername FROM t1 LEFT JOIN t2 ON t1.uid = t2.Nutzerid WHERE t1.erledigt = '0'";
erkennt ihr dort vllt einen fehler?
die daten lese ich dann ganz normal über eine while schleife ein...
while($row = mysql_fetch_array($abfrage))
{
...
}
MfG
Russ
Hi,
$abfrage = "SELECT t1.uid, t2.Nutzername FROM t1 LEFT JOIN t2 ON t1.uid = t2.Nutzerid WHERE t1.erledigt = '0'";
die daten lese ich dann ganz normal über eine while schleife ein...
while($row = mysql_fetch_array($abfrage))
{
...
}
Sofern du nicht zwischendurch $abfrage ueberschrieben hast, ist das also immer noch ein Textstring ...
dennoch gibt das mysql_fetch_array dann keine werte zurück. :-/
Es sollte dir aber eine Meldung geben - das error_reporting hast du ja hoffentlich auf E_ALL gestellt?
Und jetzt schaust du im Handbuch noch mal nach, zum Beispiel in der Beschreibung von mysql_fetch_array, was bei dir noch wichtiges fehlen koennte ...
MfG ChrisB
$abfrage = "SELECT t1.uid, t2.Nutzername FROM t1 LEFT JOIN t2 ON t1.uid = t2.Nutzerid WHERE t1.erledigt = '0'";
Da man weder die Tabellenstruktur kennt, noch die Inhalte, ist es schwer zu sagen, ob denn die Abfrage für die Aufgabe, die du lösen willst, logisch richtig ist.
Vielleicht ist die Abfrage syntaktisch OK und bringt dir deshalb 0 Zeilen als Ergebnis.
Bist du sicher, dass ein "left join" gemacht werden soll?
$abfrage = "SELECT t1.uid, t2.Nutzername FROM t1 LEFT JOIN t2 ON t1.uid = t2.Nutzerid WHERE t1.erledigt = '0'";
Da man weder die Tabellenstruktur kennt, noch die Inhalte, ist es schwer zu sagen, ob denn die Abfrage für die Aufgabe, die du lösen willst, logisch richtig ist.
Vielleicht ist die Abfrage syntaktisch OK und bringt dir deshalb 0 Zeilen als Ergebnis.Bist du sicher, dass ein "left join" gemacht werden soll?
Hi
Es soll ähnlich wie eine Gästebuch funktionieren. Bloss das nur Regestrierte Benutzer die in der Tabelle Benutzer (t2) stehen. In der Tabelle des "Gästebuches" steht dann nur die "Nutzerid".
Die Select anfrage soll es mir dann nur ermöglichen den wircklichen Benutzernamen auszugeben und nicht die Nutzerid.
Hoffe die Information sagen aus was ich will. *gg*
MfG
Russ
Hoffe die Information sagen aus was ich will. *gg*
Naja, nicht wirklich :-)
Aber probier mal statt "left join" ein "INNER join".
Hoffe die Information sagen aus was ich will. *gg*
Naja, nicht wirklich :-)
Aber probier mal statt "left join" ein "INNER join".
Hi
Funktioniert leider auch nicht :-/.
Also nochmal von vorne.
Tabelle 1 Hauptdaten:
ID B_ID Anfrage erledigt
1 1 Hallo 0
... ... .... ....
Tabelle 2 Benutzer:
ID Benutzer Passwort ...
1 Hans *****
... .... ....
Auf der Seite soll dann Angezeigt werden:
Anfrage: Hallo...
Von Autor: Hans
Abfrage:
$abfrage = "SELECT t1.uid, t2.Nutzername FROM t1 LEFT JOIN t2 ON t1.uid = t2.Nutzerid WHERE t1.erledigt = '0'";
wobei die 0 = nicht erledigt bedeutet.
while($row = mysql_fetch_array($abfrage))
{
...
}
Hoffe das hilft mehr. *gg*
MfG
Russ
Hoffe die Information sagen aus was ich will. *gg*
Naja, nicht wirklich :-)
Aber probier mal statt "left join" ein "INNER join".Hi
Funktioniert leider auch nicht :-/.
Also nochmal von vorne.
Tabelle 1 Hauptdaten:
ID B_ID Anfrage erledigt
1 1 Hallo 0
... ... .... ....Tabelle 2 Benutzer:
ID Benutzer Passwort ...
1 Hans *****
... .... ....Auf der Seite soll dann Angezeigt werden:
Anfrage: Hallo...
Von Autor: Hans
Abfrage:
$abfrage = "SELECT t1.B_Id, t2.Nutzername FROM t1 LEFT JOIN t2 ON t1.B_id = t2.id WHERE t1.erledigt = '0'";
wobei die 0 = nicht erledigt bedeutet.
while($row = mysql_fetch_array($abfrage))
{
...
}Hoffe das hilft mehr. *gg*
MfG
Russ
Hi,
Funktioniert leider auch nicht :-/.
Weil dein Code immer noch Bloedsinn ist, wenn das -
$abfrage = "SELECT t1.uid, t2.Nutzername FROM t1 LEFT JOIN t2 ON t1.uid = t2.Nutzerid WHERE t1.erledigt = '0'";
while($row = mysql_fetch_array($abfrage))
Also, RTFM - Beispiel anschauen, und dann mal richtig machen.
MfG ChrisB
Also meines Erachtens sollte es ein
SELECT t1.B_ID, t2.Benutzer FROM t1 INNER JOIN t2 ON t1.B_ID = t2.ID WHERE t1.erledigt = 0
tun.
Achte aber darauf, ob "erledigt" ein Textfeld oder ein Zahlenfeld ist.
Je nachdem muss die Null dann in Hochkommas oder nicht.
Schick die Abfrage auch mal direkt an die Datenbank (ich schätze es ist eine MySQL-DB?) mit phpMyAdmin, MySQL-CC, Navicat oder einem sonstigen DB-Frontend, um zu sehen, ob da Zeilen zurückgeliefert werden.
WEnn da etwas zurückkommt, ist der Fehler in deinem PHP-Skript zu suchen.
Mahlzeit,
Schick die Abfrage auch mal direkt an die Datenbank (ich schätze es ist eine MySQL-DB?) mit phpMyAdmin, MySQL-CC, Navicat oder einem sonstigen DB-Frontend, um zu sehen, ob da Zeilen zurückgeliefert werden.
Wieso "direkt"? Vielleicht sollte Russ die Abfrage ÜBERHAUPT erstmal an die Datenbank schicken?
WEnn da etwas zurückkommt, ist der Fehler in deinem PHP-Skript zu suchen.
Der Fehler ist auf jeden Fall in seinem Code zu suchen - darauf hatte ChrisB ja auch bereits zweimal hingewiesen.
MfG,
EKKi
Moin
Leider nein ^^.
meine Abfrage ergibt bloss 0 Resultate... der php Code ist schon richtig...
Hatte bloss net alles hier eingetragen.
Die info es mal direkt über PHPMyAdmin zu versuchen hat mir dann gezeigt das keine Werte zurück gegeben werden. Weil einfach nichts zutrifft scheinbar.
Mal sehen ich teste weiter :D
MfG
Russ
Hallo,
meine Abfrage ergibt bloss 0 Resultate... der php Code ist schon richtig...
Hatte bloss net alles hier eingetragen.
es ist eine denkbar schlechte Idee, relevanten Code zu verheimlichen. Du willst doch Hilfe und nicht potentielle und fähige Helfer auf falsche Fährten schicken.
Freundliche Grüße
Vinzenz
Hmmm
scheint am zusammen bau zuliegen :-/.
PHPMyAdmin gibt zurück:
MySQL lieferte ein leeres Resultat zurück (d. h. null Zeilen). (die Abfrage dauerte 0.0003 sek.)
Dennoch exestieren zwei test Datensätze die ich angelegt habe :-/
Ich probier mal weiter und melde mich dann.
Danke für eure Hilfe
MfG
Russ
Hello,
ich hätte mich gerade deines Problems gerne angenommen, aber nachdem deine Beispielabfrage überhaupt nicht zu deinen Spaltennamen passt sehe ich im Moment für mich keinen Einstiegspunkt - bitte poste SAUBER welche Spalten du hast und welches SQL-Statement du ausführst.
MfG
Rouven