请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

连接mysql 用prepare预编译时出现空指针现象

prepare预编译出现空指针问题,但是不知道哪里错了
用的是sha256,mysql的字段也没写错图片描述
图片描述

正在回答

5回答

看起来是连接可能没成功,这样试试看:

conn := mydb.DBConn()
fmt.Println(conn == nil)


4 回复 有任何疑惑可以回复我~
  • 提问者 第五琛七 #1
    确实是这样,放在两个文件里传递过来的是空指针, 但是把conn.go里的相关方法和prepare放到一起是可以连接的,暂时没想到为什么。
    回复 有任何疑惑可以回复我~ 2019-03-22 09:15:17
  • 提问者 第五琛七 #2
    找到原因了 谢谢!
    回复 有任何疑惑可以回复我~ 2019-03-22 09:59:36
xiaomo 2019-03-21 19:40:14

应该就是上面两位同学说的原因呢,把mysql的连接模块的init()以及DBConn()方法检查一下,试试加多几个日志打印看看。

2 回复 有任何疑惑可以回复我~
  • 提问者 第五琛七 #1
    确实是这样,放在两个文件里传递过来的是空指针, 但是把conn.go里的相关方法和prepare放到一个文件里是可以连接的,暂时没想到为什么。
    回复 有任何疑惑可以回复我~ 2019-03-22 09:15:38
  • 提问者 第五琛七 #2
    解决了 谢谢~
    回复 有任何疑惑可以回复我~ 2019-03-22 09:59:50
  • xiaomo 回复 提问者 第五琛七 #3
    理论上init()方法会在import的时候优先执行的。所以具体是什么原因呢?可以分享一下哈
    回复 有任何疑惑可以回复我~ 2019-03-22 10:49:45
盖茨木 2019-03-21 19:17:21

看不出哪有问题。有没可能数据连接没成功?

2 回复 有任何疑惑可以回复我~
xiaomo 2019-03-22 23:18:34

是不是signin.html和home.html的username及token没有设置对?

在signin.html里的登录请求返回后,要把获取到username和token写到浏览器localStorage里:

localStorage.setItem("token", <获取到的token>)
localStorage.setItem("username", <获取到的username>)

再跳转到home.html的时候,再去localStorage取出来:

var username = localStorage.getItem("username");
var token = localStorage.getItem("token");

然后再请求/user/info的时候把username和token带上来。

你可以先把auth.go的HTTPInterceptor隐藏,先不校验token试试看。

1 回复 有任何疑惑可以回复我~
  • 提问者 第五琛七 #1
    解决了老师,改了不少东西,因为没学过js直接用的仓库里的发现好像不太合适  o(╯□╰)o
    回复 有任何疑惑可以回复我~ 2019-03-23 12:30:06
  • xiaomo 回复 提问者 第五琛七 #2
    嗯嗯,目前仓库里面的代码是第八章及第九章的版本的。我正在整理对应之前章节的版本出来,主要是之前不是每个章节都存档了,需要花点时间。
    回复 有任何疑惑可以回复我~ 2019-03-23 14:34:27
  • 提问者 第五琛七 回复 xiaomo #3
    老师html文件中的queryParams()显示not found
    回复 有任何疑惑可以回复我~ 2019-03-25 09:58:39
weixin_慕用2290475 2021-05-23 07:42:52
stmt, err = mydb.DBConn

Db变量定义的问题,:=只在当前方法内有效

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信