私はGolangのPostgresデータベースへのクエリとをやっている動作していない奇妙なことIハードコード値は、例えば、このクエリはGolangクエリが正しく
db.QueryRow("select json_build_object('Streams', array_to_json(array_agg(t))) from (select p.name FROM profiles as p INNER JOIN streams as s ON(s.profile_id =
p.id) WHERE s.latitudes >=28.1036 AND shared = false order by id desc limit 15)t").Scan(&result)
の作品であれば、クエリにのみ動作することです今変更
唯一の部分は、それがフォームを通って、今ここs.latitudes> =代わりにその値を持つ28.1036 は、ハードコードされたI過ぎているこの
db.QueryRow("select json_build_object('Streams', array_to_json(array_agg(t))) from (select p.name FROM profiles as p INNER JOIN streams as s ON(s.profile_id =
p.id) WHERE s.latitudes>=$1 AND shared = false order by id desc limit 15)t",LatMin).Scan(&result)
ようなクエリを有します今すぐ彼はただ、ヌル戻ってくると、これは私のコードであると私はFMTを使用していたコードから見ることができるように私は
func Auto_Location(w http.ResponseWriter, r *http.Request) {
var result string
if r.Method == "GET" {
} else {
r.ParseForm() }
LatMin := r.Form["LatMin"]
db,err := sql.Open("Postgres Connects")
if err != nil {
log.Fatal(err)
println(err)
}
db.QueryRow("select json_build_object('Streams', array_to_json(array_agg(t))) from (select p.name FROM profiles as p INNER JOIN streams as s ON(s.profile_id =
p.id) WHERE s.latitudes>=$1 AND shared = false order by id desc limit 15)t",LatMin).Scan(&result)
defer db.Close()
w.Header().Set("Content-Type", "application/json")
fmt.Fprintf(w,result)
fmt.Println("Value:", LatMin)
}
再びLatMin変数が正しく読み込まれているという事実を知っているとLatMinを持つクエリ28.1036という正しい値があります。私がここで紛失しているものがあります。使用しているpostgresパッケージは、_ "github.com/lib/pq"です。私はFloat値の問題だと思っています。LatMinを28に変更すると動作しますが、28.1036は無効です。
2つのクエリ文字列を印刷して違いを確認しようとしましたか? –
はい私はして、最終的に答えを見つけた – user1591668