我正在尝试从我的PostGres数据库中获取信息以显示在我的前端。我使用react,axios进行http请求,使用express表示我的服务器,大量用于服务器内的数据库交互。
当前查询,因为我有它返回一个空数组。当在pgAdmin中运行相同的查询时,它返回正确的信息(我将字符串插入查询,而不是$ 1)部分。我怀疑这个问题与接受搜索名称作为参数并在查询中将其作为$ 1应用有关。
这是我的http请求:
handleNameSearch = () => {
let name = this.state.searchName
axios.get('http://localhost:3003/api/getPerson?name=' + name).then(response => {
this.setState({
searchedNameResults: response.data
})
console.log(response)
})
}
我在服务器端的端点。 Req.query.name具有正确的信息,因此在查询运行之前我不认为问题已经出现。
app.get('/api/getPerson', (req, res) => {
const db = req.app.get('db');
console.log(name)
db.searchPeopleByName(req.query.name)
.then(people => {
console.log(people)
res.status(200).send(people)
})
.catch(err => res.status(500).send(console.log(err)))
})
我的SQL查询文件。我有一张名为' people'以及名为' name'。
的列SELECT *
FROM people
WHERE name LIKE $1;
答案 0 :(得分:0)
您是否在查询中尝试使用%$ 1%而不是$ 1?