使用nodejs更新mysql的表,SET后面的参数不固定,请问如何实现?

发布于 2022-09-11 17:35:48 字数 2320 浏览 11 评论 0

我想写一个更新用户信息的接口,

UPDATE user_information SET 这里的参数不固定 where uid = ?

有可能是 name=? 或者 name=?, sex=? 或者 name=?, sex=?, qq=?

请怎么我应该如何实现?

app.all("/information/update", (req, res, next) => {
    let sess = req.session;
    let result = {
        code: "0000",
        data: {},
        message: "fail",
        detail: "",
        function: "prize",
        number: 0
    };
    let params = req.body;

    let selectSql = "select name from user_information where uid = ?";
    let updateSql = "UPDATE user_information SET name=? where uid = ?";



    let name = helper.stringTrim(params.name) || "";

    if(sess.loginUserInfo === undefined) {
        result["detail"] = "用户没有登陆";
        res.send(JSON.stringify(result));
    } else {
        let loginInformation = sess.loginUserInfo;
        // console.log("loginInformation == ", loginInformation);
        pool.getConnection((err, connection) => {
            connection.query(
                selectSql,
                [loginInformation.uid],
                (err, rows) => {
                    // console.log("rows ==", rows);
                    if(rows.length === 1) {
                        result["detail"] = "用户登陆成功";
                        connection.query(
                            updateSql,
                            [name, loginInformation.uid],
                            (err, rows) => {
                                if(err) {
                                    result["detail"] = "更新数据失败";
                                    res.send(JSON.stringify(result));
                                } else {
                                    result["detail"] = "0001";
                                    result["message"] = "success";
                                    result["detail"] = "更新数据成功";
                                    res.send(JSON.stringify(result));
                                }

                            }
                        );

                    } else {
                        result["detail"] = "用户信息错误";
                        res.send(JSON.stringify(result));
                    }

                }
            );
            pool.releaseConnection(connection);
        })
    }
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

木有鱼丸 2022-09-18 17:35:48

动态拼字符串呗

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文