查询返回一个空数组 - 为什么?



我正在尝试从我的PostGres数据库中获取信息以显示在我的前端。我正在使用 react,http 请求的 axios,我的服务器使用 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 查询文件。我有一个名为"人"的表和一个名为"name"的列。

SELECT *
FROM people
WHERE name LIKE $1;

您是否尝试在查询中使用 %$1% 而不是 $1?

最新更新