微信开发,获取用户信息的坑(用户的城市信息,city)
微信开发时,使用下面接口获取的信息:
https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html
{
"openid":" OPENID",
"nickname": NICKNAME,
"sex":"1",
"province":"PROVINCE",
"city":"CITY",
"country":"COUNTRY",
"headimgurl":"https://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46",
"privilege":[ "PRIVILEGE1" "PRIVILEGE2" ],
"unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"
}
这个里面返回的数据中,city 会给一些特殊的城市添加单引号,比如「西安」会变成「xi'an」,在更新用户数据的时候如果外层使用的是单引号来拼接的 sql 语句,就会导致写入数据库失败。
解决办法是拼接 sql 语句时,外层使用双引号。
浙公网安备 33010602011771号