跳到主要内容
CNode

mysql查询空数据也返回true

问答
EEnzo1994发布于 8 年前最后回复 8 年前
446840
目录 · 5 个章节

已经用promise封装query了,测试成功可以取到存在的数据

但是 我想查询一个不存在的行 (open_id = 'zzz')

image.png

代码如下:

module.exports = async ctx => {

  let data;
  try {
    data = await mysql.query("SELECT * FROM user WHERE open_id = 'zzz'");
  } catch (err) {
    ctx.state.data= { message: err.message };
    ctx.status = err.status || 500;
  }
  if (data){
    ctx.state.data = '已存在'
  }
  else{
    ctx.state.data = '不存在'
  }

我都把数据库清空了,返回的也是已存在??

image.png

image.png

想请问大佬,有没有什么解决方案,如果不存在不是要返回false的吗,小弟在此谢过!

查看回复

回复 (4)

Q
qishuangyan#48 年前

nnn

H
heguangda#38 年前

if(data.length == 0)我一般这样判断的

我习惯这样封装mysql,你参考一下,不知道好不好 3.png 调用的时候是 var {err,data} =await query(sql)这样子

S
shenqidebaozi#28 年前

应该取行数吧,返回true是代表语句执行成功吧?

M
MiYogurt#18 年前

数据空又不是错误,数组判断 length

参与回复

登录后即可参与回复。登录