我试着在MYSQL DB中更新一些信息,但我不确定如何在node.js中这样做。这是我使用的https://github.com/felixge/node-mysql的mysql驱动程序
到目前为止,我所拥有的
connection.query('SELECT * FROM users WHERE UserID = ?', [userId], function(err, results) {
if (results[0]) {
if (results[0].Name!=name) {
console.log(results[0].Name);
connection.query('UPDATE users SET ? WHERE UserID = ?', [userId], {Name: name});
}
console.log(results[0].UserID);
}
});
一切正常除了..。
connection.query('UPDATE users SET ? WHERE UserID = ?', [userId], {Name: name});
在PHP中我会有这样的代码...
mysql_query("UPDATE users SET Name='".$_GET["name"]."' WHERE UserID='".$row['UserID']."'");
我不确定我做错了什么,但我确信问题就在这里
connection.query('UPDATE users SET ? WHERE UserID = ?', [userId], {Name: name});
发布于 2013-10-14 18:57:39
ruakh
的答案并不完全正确,您可以将SET ?
功能与其他?
一起使用。
语法为:
connection.query('UPDATE users SET ? WHERE UserID = ?', [{ Name: name }, userId])
发布于 2014-04-02 16:58:00
您可以使用对象数组:
connection.query('UPDATE user SET ? WHERE ?', [{ Name: name }, { UserId: userId }])
发布于 2018-09-22 15:18:18
这就是对我有效的方法
var records =
[name,email,adhar,ROLE,NOTES,REQUESTFORSUPPLIER,PASSWORD,LOCATION,CREATEDBY,CREATEDON,MODIFIEDBY,MODIFIEDON,mobile];
var sql="UPDATE flavica_user SET Name=?,EMAIL=?,AADHAR=?,ROLE=?,NOTES=?,REQUESTFORSUPPLIER=?,PASSWORD=?,LOCATION=?,CREATEDBY=?,CREATEDON=?,MODIFIEDBY=?,MODIFIEDON=? WHERE USER_MOBILE=?"
//var sql="UPDATE `flavica_user` SET ? WHERE ?";
//this sql updates flavica_user
con.query(sql,records,(err,result)=>{
if(err){
res.json({
status:400,
message:err
})
}
else{
res.json({
status:200,
message:result
})
}
})
https://stackoverflow.com/questions/14992879
复制相似问题