You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js+MySQL注册页报ER_EMPTY_QUERY空查询错误求排查方案

错误原因

controllers/auth.js 文件中第一次调用 db.query 方法时,SQL语句字符串和参数数组之间遗漏了逗号分隔符:

// 错误写法:缺少逗号
db.query('SELECT email FROM users WHERE email = ?' [email], async (error, results) => {

JavaScript会将这段代码识别为对字符串取索引操作,而非给db.query传递两个独立参数,最终传入的SQL语句为undefined,因此触发ER_EMPTY_QUERY空查询错误。


修复方案

在SQL字符串和参数数组之间添加逗号即可:

// 修正后写法
db.query('SELECT email FROM users WHERE email = ?', [email], async (error, results) => {

附加优化建议

你当前的代码中,查询出错后仅打印了错误日志,没有给前端返回响应,会导致请求一直挂起,建议补充错误响应逻辑:

if(error) {
    console.log(error)
    return res.render('register', {
        message: '注册请求处理失败,请稍后重试'
    })
}

内容的提问来源于stack exchange,提问作者user14367514

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 17:54:01