Запрос возвращает пустой массив - почему? - PullRequest
0 голосов
/ 03 июня 2018

Я пытаюсь получить информацию из моей базы данных PostGres для отображения на моем веб-интерфейсе.Я использую реагирование, axios для запросов http, узел с экспрессом для моего сервера, массовый для взаимодействия с базой данных на сервере.

Текущий запрос, так как он у меня, возвращает пустой массив.При выполнении того же запроса в 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 голосов
/ 03 июня 2018

Вы пытались использовать% $ 1% вместо $ 1 в запросе?

...