我正在努力实现一个新的搜索功能,我遇到了一些关于预先编写的golang代码的问题。
搜索功能非常简单,我想搜索特定年份的Id。
现在我可以准备我的mysql语句,但在某些时候它必须通过这个函数提供:
func (papers *PapersEnv) StatementBegin(sql string, params ...interface{}) *mysql.Statement {
papers.db.Lock()
stmt, err := papers.db.Prepare(sql)
if err != nil {
fmt.Println("MySQL statement error;", err)
return nil
}
err = stmt.BindParams(params...)
if err != nil {
fmt.Println("MySQL statement error;", err)
return nil
}
err = stmt.Execute()
if err != nil {
fmt.Println("MySQL statement error;", err)
return nil
}
return stmt
}
第二个函数参数是导致我的问题的原因。据我所知,这是一个控制参数,它限制了搜索功能的可能性,因此用户无法输入删除数据库的命令。
任何人都知道发生了什么事?