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

时间:2018-06-03 18:01:54

标签: node.js express axios massive

我正在尝试从我的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;

1 个答案:

答案 0 :(得分:0)

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