mysql - res.cookie() 在与 mysql 连接后没有

标签 mysql node.js cookies express

我尝试连接到 mysql 数据库,运行查询,然后仅当密码正确时才设置 cookie(我知道我不应该使用 md5,这只是一个测试项目)。这是我写的代码,当我执行并向这个请求发出请求时,它说 Error: Can't set headers after they are sent.

但在我调用 res.cookie() 之前我没有发送任何响应我不知道出了什么问题:

    email=req.params.email;
    password=req.params.password;
    var connection = mysql.createConnection({
      host     : 'localhost',
      user     : 'root',
      password : 'nishchal11',
      database : 'venturesity'
    });

    connection.connect();
    sql="SELECT * FROM user WHERE user_email="+connection.escape(email)+" AND password=md5("+connection.escape(password)+");";

    connection.query(sql,function (err,rows,fields) {
        res.cookie("email",email);
        if(!err){
            if(rows.length==1){
                //res.cookie("password",rows[0].pass);
                console.log(rows[0].pass);
            }else{
                console.log("wrong pass");
            }
        }else{
            console.log("Error");
        }
    });
    res.end(sql);

提前致谢

最佳答案

您将在查询执行之前提前结束响应 (res.end(sql))(查询是异步的)。删除它并在查询回调中结束响应,错误应该消失。

关于mysql - res.cookie() 在与 mysql 连接后没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32081989/

相关文章:

java - Apache HTTP 客户端中的 Cookie - Java

php - 使用 Laravel Query Builder 进行复杂的 MySQL 内连接查询

node.js - npm install sqlite3 需要永远

javascript - 在函数调用中解构赋值,同时保留对象

javascript - 返回错误对象以及 hapijs boom 对象

python - 将 requests.Session() cookie 传输到 Python 中的 selenium 网络驱动程序

PHP Cookie 保持用户登录状态 - 这足够安全吗?

java - INSERT 来自同一个表中的结果集和 TextField 的值

mysql - LOAD DATA INFILE 可以使用给定路径而不是默认的 mysql 数据路径吗?

mysql - 使用 SELECT 获取 id,然后从另一行获取另一列