好吧,我正在尝试制作一个选择功能,像这样工作
从主函数中,我将使用必要的变量调用此选择函数。然后select函数将在数据库中运行查询,并提供相关信息。
现在是go lang语言,如果我们要对结果进行选择查询,我们需要一个可以获取结果的结构。由于将从主函数调用该函数,并且无法预测变量,因此我们无法在手之前声明结构,因此我被困在这里。谁能给我解决方案?
所以基本上我想做的是我们可以像
那样简单地调用查询-从用户id = 1的用户中选择姓名和电话- 因此,从主函数中,我们将获得列名称(名称,电话),表名称(用户)和条件(用户ID = 1)之类的值
我们会将这些信息传递给select函数,它将运行查询并将结果返回给我们。
无论查询是什么,它都应该像它一样工作。谁能给我一个样本或想法,以解决这个问题
func select() {
//DB CONNECTION HERE
type User struct {
Name string `json:"name"`
Age string `json:"age"`
Email string `json:"email"`
Phone string `json:"phone"`
Address string `json:"address"`
}
results, err := db.Query("SELECT Name, Age, Email, Phone, Address FROM `users` where personId=12 ")
if err != nil {
panic(err.Error())
}
for results.Next() {
var user User
var email User
var age User
var phone User
var address User
err = results.Scan(&user.Name, &age.Age, &email.Email, &phone.Phone, &address.Address)
if err != nil {
panic(err.Error())
}
fmt.Println(user.Name)
fmt.Println(age.Age)
fmt.Println(email.Email)
fmt.Println(phone.Phone)
fmt.Println(address.Address)
}
现在zou可以看到这是我们知道查询的代码,因此我们根据它创建了一个结构,但是我上面描述的问题呢?