2016-06-16 13 views
2

Gruppenphp Unterabfrage aus 2 Tabellen

  1. groupid
  2. Gruppenname
  3. Gültigkeit

usertable

  1. Gruppenname
  2. Benutzername
  3. Passwort

    $c=date(y-m-d); 
    
    $a=$_REQUEST['user']; 
    
    $b=$_REQUEST['pass']; 
    
    $c=date(y-m-d); 
    
    $sql="SELECT username,password,validity FROM usertable,groups WHERE username='$a' AND password='$b' AND validity > (select validity,groupname from groups where groups.groupname = usertable.groupname)"; 
    

wie Unterabfrage in PHP schreiben usertable zu überprüfen username, passoword von usertable und validity von groups basierend auf groupname bezogen auf username aus.

Antwort

1

Ich denke, Sie suchen nach diesem. Use join

$sql = "SELECT username,password,validity 
FROM usertable a join groups b on a.groupname=b.groupname 
WHERE username='$a' AND password='$b' 
AND validity > '$c'" 
+0

Für Ex ..... Ich habe einen Gruppennamen 'ABCDE' und seine Gültigkeit ist '2016-07-15' in der Gruppentabelle .... .Ich habe username = 'XYZ' und password = '123' wo usernam e gehört zu groupname 'ABCDE'. Bei Abfrage muss ich den Benutzernamen, das Passwort von usertable und die Gültigkeit dieses bestimmten Gruppennamens aus der Gruppentabelle überprüfen ... – Raahul

+0

über Abfrage tut dasselbe. – Vinie

+0

Arbeiten fein ... – Raahul

1

Ich nehme an, das wirft einen Fehler? Wenn Sie eine Spalte mit einer Unterauswahl vergleichen, sollten beide Seiten dieselbe Menge und denselben Typ von Spalten haben.

Hier Vergleich Sie validity > validity,groupname die

"SELECT username,password,validity 
FROM usertable,groups 
WHERE username='$a' AND password='$b' 
    AND validity > (select validity from groups where groups.groupname = usertable.groupname)" 

Hinweis nicht gültig ist, wenn die Sub-Abfrage mehr als eine Zeile zurückgeben, sollten Sie eine Aggregationsfunktion oder etwas zu ermitteln, welcher Wert zurückgegeben werden soll, wie MAX(validity)

+0

Für Ex ..... Ich habe einen Gruppennamen 'ABCDE' und seine Gültigkeit ist '2016-07-15' in Gruppen Tabelle ..... Ich habe username = 'XYZ' und Passwort = '123' wo der Benutzername zum Gruppennamen'ABCDE 'gehört. Bei der Abfrage muss ich den Benutzernamen, das Passwort von usertable und die Gültigkeit dieses bestimmten Gruppennamens aus der Gruppentabelle überprüfen ... – Raahul

0

Ich denke, dass Sie die Gültigkeit des Benutzers basierend auf der Gruppe herausfinden möchten, in der der Benutzer gehört.

$sql = "select u.username, u.password, g.validity from usertable u, groups g where u.groupname = g.groupname and u.username = '$a' and u.password = '$b'"; 
+0

Für Ex ..... Ich habe einen Gruppennamen' ABCDE 'und seine Gültigkeit ist' 2016-07-15 'in der Gruppentabelle ..... Ich habe username =' XYZ 'und password =' ​​123 'wo der Benutzername zum Gruppennamen'ABCDE' gehört. Bei der Abfrage muss ich nachsehen Benutzername, Passwort von usertable und Gültigkeit dieses bestimmten Gruppennamens aus der Gruppentabelle ... – Raahul