用TP做用户注册功能的时候,需要在注册的时候后台判断用户名是否已经存在,执行的时候系统报错,内容如下
1054:Unknown column 'xxx' in 'where clause' [ SQL语句 ] : SELECT * FROM `secp_user` WHERE ( username = xxx )
经过排查,排除字段错误的可能性,然后通过在度娘上查找相关问题,发现是变量的数据类型导致的该问题,这里贴上源代码
$user = I('post.username');
$res = M('user')->where("username = $user")->select();
这个$user是字符串类型,所以应该给变量加上单引号才能解决该问题
$user = I('post.username');
$res = M('user')->where("username = '$user'")->select();
忙活了这么久终于解决了,不容易呀