Wie man die Anzahl der Zeilen, die vom select-Abfrage mit mysql
Ich bin neu in go lang. Ich möchte eine überprüfung der login Daten aus der MySQL-db.
Ich will eine Methode wie in PHP mysqli_num_rows($res)==1
...
Ich habe versucht len(rows)
oder rows.Column()
@fmt.Println("No of rows are :",rows)
aber es wird nicht...
Der code, ich habe versucht ... (Es ist ein dummy-code)
rows, err := db.Query("select * from userLog where u_name = ? and u_pass = ?", uname,pswd)
if err != nil {
log.Fatal(err)
}
fmt.Println("No of rows are :",rows)
defer rows.Close()
Wenn Sie eine andere Lösung für die überprüfung der login Daten Zweck dann freundlich darauf hin und erklären Sie es kurz, bitte helfen Sie mir.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie ich es verstehe Sie brauchen, um zu überprüfen, ob Benutzer und Passwort in der Datenbank vorhanden. Wenn ja, können Sie:
Wenn sich die Datenbank enthält mitgelieferten user und Passwort isAuthenticated wird auf true gesetzt werden.
Wenn Sie bereits eine query ausgeführt
db.Query("SELECT * FROM some_tbl")
und haben einerows
iterator, dann können Sie sich nicht extrahieren Sie die Anzahl der Zeilen ohne Durchlaufen es. Wie Sie sehen es gibt nichts, dass gibt die Anzahl der Zeilen.So dass die einzige Sache, die Sie tun können, ist, eine Abfrage zum auswählen der Anzahl der Zeilen:
db.Query("SELECT COUNT(*) FROM some_tbl")
Hier ist eine ziemlich effiziente Möglichkeit, um die Anzahl von Zeilen in einer MySQL-wählen Sie im gehen:
Wie bereits erwähnt, count(*) funktioniert gut, und Scannen Sie macht es noch einfacher, z.B.:
Können Sie, natürlich, verwenden Sie diese mit einer where-Anweisung zu "verfeinern" der Graf, z.B.:
}
db.QueryRow("SELECT id, description FROM status WHERE id = ?", user.StatusID)
Die Anwendung der Sprache nicht anders. Verwenden
count(*)
:Lesen Sie dann den Wert, dass die von der Abfrage zurückgegeben.
No of rows are : &{0xc82001a060 0x6b6d0 0xc82000e260 false [] <nil> 0xc8200141b0}
Nur fügen Sie einige Einblicke in dieses Thema, haben Sie gedacht, wie ein allgemein gültiges Rezept, das Ihnen erlaubt, um auszudrücken, jede select-Anweisung in select count(*), das könnte nützlich sein bei der Paginierung Angelegenheiten und hoffentlich auch auf das, was jemand sucht:
https://play.golang.org/p/29Iiv1Ta-0_D