徐伟轩博客-爱写歌的程序员思考和科普的日常自媒体

统计
TypechoJoeTheme
文章目录

执行SQL错误!Unknown column 'uid' in 'field list'..

徐伟轩博主
2022-08-03 10:31
/
2 评论
/
353 阅读
/
480 字
08月03

这个bug在网站开发中还是比较常见的,主要表现为Unknown column '字段名' in 'field list' 错误。
总结来说就是,可能不小心把某个字段写错了,前端和数据库部分都需要检查一下。

这类错误尤其会出现在自定义表单,或者字段多些的情况下。
比方说你有可能熬夜敲代码,不小心按照了你以往的工作经验去写,
导致漏写或者多写了字段造成。

例如,你写了个字段叫a,但是数据库里是叫b,
那也没把a的值传给b
就报错了!

错误实例

执行SQL错误:Unknown column 'uid' in 'field list',
语句:
INSERT INTO mess (`contact`,`mobile`,`content`,`acode`,
`user_ip`,`status`,`create_user`,`uid`,
`create_time`) VALUES ('姓名','王总',[中间省略掉吧--]
,'2022-08-01 11:37:18')
当前程序:V1.0, 
基于操作系统:Linux, WEB应用:nginx/1.18.0

这种像咱们开发用户留言、评论、自定义表单等功能都可能会使用到。
大致解释下来就是,写入数据的时候,某个实体类的字段错了,而且极有可能是uid。
总不可能是记录用户ip地址的字段user_ip错了吧?

那我们先检查下用户前端字段,好像uid没什么问题。
那就可能程序有问题,顺着程序代码去看.
哦吼,真的发现错误:控制器php文件里有这段代码

$data['uid'] = session('u_id');

然鹅,在数据库里查询却发现压根儿没有这个字段uid
找半天只看到id字段,所以,很有可能是脑海中以为的是uid而到程序这边写成了uid。

解决方案就是必须和MySQL数据库中的字段id保持一致。
你一个叫uid,一个叫id,必然出错。

所以,凡事还真不能“我以为”想当然
我以为这样写是对的?
只能细心点,程序里是没那么智能的,只能靠咱们多检查。

好了,记录下问题,方便以后万一遇到可以查验参考。

网站开发SQL错误
赞(1)
赞赏
感谢您的支持,我们会继续努力哒!
版权:

徐伟轩博客-爱写歌的程序员思考和科普的日常自媒体

本文链接:

https://letus.top/archives/573.html(转载时需注明本文出处及文章链接)

如无特别注明,本站内容为原创。

如需转载或刊登,请联系我们获得授权。

评论 (2)
本篇文章评论功能已关闭

亲爱的朋友

一切伟大,源于勇敢的开始。

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月

标签云