"сообщение об ошибке: в сообщении указывается 1 параметр, но подготовленное утверждение" "требует 0", не уверен, что стоит за этим или как это исправить - PullRequest
0 голосов
/ 04 октября 2019

Я беру урок по базам данных и получаю эту ошибку при попытке запустить программу.

const express = require("express");
  const app = express();
  const bodyParser = require("body-parser");

  app.set("port", 8080);

  app.use(bodyParser.json({ type: "application/json" }));
  app.use(bodyParser.urlencoded({ extended: true }));

 const Pool = require("pg").Pool;
 const config = {
          host: "localhost",
          user: "me",
          password: "64594640",
          database: "new"
 };

 const pool = new Pool(config);

 //say hello
 app.get("/hello", (req,res) => {
     res.json("Hello world!");
 });

 app.get("/workshop", async (req,res) => {
         try {
                  // find workshops
                  const template = "SELECT workshop FROM people";
                  const responce = await pool.query(template, [req.query.q]);
                  console.log(response);
          } catch (err) {
                  console.log("whoops " + err);
          }

 });

 app.listen(app.get("port"), () => {
          console.log(`Find the server at: http://localhost:${app.get("port")}/`);
 });

Я запускаю программу на узле, и у меня есть новая база данных postgresql с владельцем me.

1 Ответ

0 голосов
/ 04 октября 2019

Вы указали метод query с одним параметром:

req.query.q

Поэтому метод ищет место для размещения этого параметра в запросе SELECT workshop FROM people.

Не удается найти заполнитель $1 для замены вашим параметром req.query.q. Вы либо забыли добавить некоторые параметры в свой запрос, либо вам не нужно передавать ему какие-либо параметры.

Чтобы узнать больше о методе query с параметрами, см. Пример: https://node -postgres. ком / особенности / запросы # Параметризованная% 20query

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...