I wrote a function to get slice of products but this function returns just slice of one record.
Note: I tried same query in mysql console and it found almost 200 records.
func FindProductsByQueryString(query, search string) (result []Product, err error) {
connection, err := sql.Open("mysql", "My database config")
if err != nil {
return
}
rows, err := connection.Query(query, search)
if err != nil {
log.Println(err.Error())
return
}
defer rows.Close()
if rows.Next() {
prod := Product{}
err = rows.Scan(&prod.Id, &prod.Name, &prod.Group, &prod.Category, &prod.Brand,
&prod.Url, &prod.Image, &prod.OPrice, &prod.Price, &prod.TRate, &prod.Rate, &prod.Unit)
if err != nil {
log.Println(err.Error())
return
}
result = append(result, prod)
}
return
}
Original query:
SELECT * FROM product WHERE MATCH(Name) AGAINST(?);
Sample Query:
SELECT * FROM product WHERE MATCH(Name) AGAINST('Nokia');