ExpressJS MySQL ошибка обновления - PullRequest
1 голос
/ 13 мая 2011

Я использую expressjs с модулем node-mysql . Я получаю эту ошибку при публикации сообщения об обновлении действия

/Users/mac/node_modules/mysql/lib/mysql/client.js:106
        cb(err);
        ^
TypeError: string is not a function
    at String.CALL_NON_FUNCTION (native)
    at Query.<anonymous> (/Users/mac/node_modules/mysql/lib/mysql/client.js:106:9)
    at Query.emit (events.js:64:17)
    at Query._handlePacket (/Users/mac/node_modules/mysql/lib/mysql/query.js:35:12)
    at Client._handlePacket (/Users/mca/node_modules/mysql/lib/mysql/client.js:294:14)
    at Parser.<anonymous> (/Users/mac/node_modules/mysql/lib/mysql/client.js:83:14)
    at Parser.emit (events.js:64:17)
    at /Users/mac/node_modules/mysql/lib/mysql/parser.js:75:14
    at Parser.write (/Users/mac/node_modules/mysql/lib/mysql/parser.js:580:7)
    at Socket.<anonymous> (/Users/mca/node_modules/mysql/lib/mysql/client.js:63:16)

Я использую это действие:

 app.post('/post/:id/edit', function(req, res){
         var id = req.params.id;
        var query = client.query(
          'UPDATE '+POST,
          'SET title = ?, text = ?',
          [req.body.title, req.body.text ],
        ' WHERE id='+id
        );
         res.redirect('/');
    });

Что не так?

1 Ответ

2 голосов
/ 13 мая 2011
var query = client.query(
      'UPDATE '+POST +
      ' SET title = ?, text = ?' +
      ' WHERE id='+id,
      [req.body.title, req.body.text ]
    );

Вы использовали , вместо +

Вы хотите объединить все ваши строковые части, а затем передать свой массив параметров в конце.

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