我使用带有node-mysql模块的expressjs。发布更新操作时出现此错误
/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('/');
});
怎么了?
答案 0 :(得分:2)
var query = client.query(
'UPDATE '+POST +
' SET title = ?, text = ?' +
' WHERE id='+id,
[req.body.title, req.body.text ]
);
您使用,
代替+
您希望连接所有字符串部分,然后在最后传递参数数组。