Comment obtenir le nombre de lignes par requête select à l'aide de mysql
Je suis nouveau dans le jeu de go lang. Je veux créer une vérification de la connexion à partir de bases de données MySQL.
Je veux une méthode comme en PHP mysqli_num_rows($res)==1
...
J'ai essayé len(rows)
ou rows.Column()
@fmt.Println("No of rows are :",rows)
mais il ne sera pas...
Le code que j'ai essayé ... (C'est un code factice)
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()
Si vous avez une autre solution pour la connexion de vérification de but alors gentiment proposer et expliquer brièvement de bien vouloir m'aider.
Vous devez vous connecter pour publier un commentaire.
Si je comprends bien, vous devez vérifier si l'utilisateur et le mot de passe existe pas dans la base de données. Si oui, vous pouvez faire:
Si la base de données contient d'utilisateur et le mot de passe isAuthenticated sera définie sur true.
Si vous avez déjà exécuté une requête
db.Query("SELECT * FROM some_tbl")
et ont unrows
itérateur, alors vous ne pouvez pas extraire le nombre de lignes sans itération à travers elle. Comme vous le voyez il n'y a rien qui retourne le nombre de lignes.Donc, la seule chose que vous pouvez faire est de faire une requête pour sélectionner le nombre de lignes:
db.Query("SELECT COUNT(*) FROM some_tbl")
Ici est assez efficace pour renvoyer le nombre de lignes dans une base de données MySQL sélectionnez dans le jeu de go:
Comme mentionné, count(*) fonctionne très bien et Scan rend encore plus simple, par exemple:
Vous pouvez, bien sûr, utiliser ce avec un où l'instruction à "affiner" le nombre, par exemple:
}
db.QueryRow("SELECT id, description FROM status WHERE id = ?", user.StatusID)
La langue de l'application ne prend pas en faire un autre. Utilisation
count(*)
:Puis lire la valeur que retourne la requête.
No of rows are : &{0xc82001a060 0x6b6d0 0xc82000e260 false [] <nil> 0xc8200141b0}
Juste pour ajouter un peu de perspicacité dans ce sujet, avez-vous pensé que d'avoir un général de recette qui vous permet de vous exprimer toute instruction select into select count(*), qui pourrait être utile dans la pagination des affaires et espérons que sur ce que quelqu'un est à la recherche:
https://play.golang.org/p/29Iiv1Ta-0_D