微信openid存入数据库为空解决方案
首先openid是字符串,大家应该都考虑到了。我这的问题是打印openid,输出sql正常,打印sql和执行语句和吧sql存文件时openid就变成了空?原因是第一步获取code时使用header跳转时代码接着往下执行了!
分析如下 :进入首页(msp.php)判断用户有没有存opeid 没有的话进入这个页面存openid(openid.php代码如下),本页第一步获取code使用Header跳转页面并没有die终止导致程序继续往下运行,我觉得跳转页面了不应该运行下面的代码了。 往下继续运行时并没有code获取到openid也不存在所以数据库存的是空,而Header跳转到本页面了,应该正确流程再添加一条正确的记录的 但是只有1条open为空记录 这什么情况!不过Header("Location: $shouquan");die;加个die问题解决了 耗时2H。
if(!$_REQUEST['code']){$shouquan = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=$appid&redirect_uri=https://www.jifen.com/mobile/openid.php&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";Header("Location: $shouquan");die; } $code=$_REQUEST['code']; //接收code $open_url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$secret&code=".$code."&grant_type=authorization_code"; $wx_user = file_get_contents($open_url); $wx_user = json_decode($wx_user,true); // 返回结果为json,用户的openid,access_token $openid = $wx_user['openid']; $openid = "'$openid'"; //var_dump('INSERT INTO ' . $GLOBALS['ecs']->table('class_openid') ."(user_name,openid,wxopenid) " ."value($user_name,'$openid','$openid')");die; $res = $db->query('INSERT INTO ' . $GLOBALS['ecs']->table('class_openid') ."(user_name,openid,wxopenid) " ."values($user_name,".$openid.",".$openid.")"); //echo 'INSERT INTO ' . $GLOBALS['ecs']->table('class_openid') ."(user_name,openid,wxopenid) " ."values($user_name,".$openid.",".$openid.")";die; $myfile = fopen(date('Y-m-d',time()).".txt", "ab+") or die("Unable to open file!".date('Y-m-d',time()).".txt"); $text = date('Y-m-d H:i:s',$time).'INSERT INTO ' . $GLOBALS['ecs']->table('class_openid') ."(user_name,openid,wxopenid) " ."values($user_name,".$openid.",".$openid.")"."\r\n"; fwrite($myfile, $text); fclose($myfile); if($res){Header("Location: https://www.jifen.com/mobile/msp.php?act=msp_shop&type=2"); }
微信openid存入数据库为空解决方案相关推荐
- 微信小程序获取openid和session_key并且把openid存入数据库
微信小程序开发交流qq群 581478349 微信小程序获取openid和session_key并且把openid存入数据库.已经调用openid的demo 前后端代码都有,后端php实现 在其它 ...
- 微信小程序web-view嵌入h5———微信名包含emoji表情,导致数据无法存入数据库
由于部分用户微信名包含emoji表情导致无法存入数据库. 报错为:[2019-08-27 16:21:12] [ERROR] [org.hibernate.engine.jdbc.spi.SqlExc ...
- 解决微信昵称含特殊表情或字符无法存入数据库异常
场景描述: 保存微信用户昵称,发现昵称中包含特殊表情或字符,导致以下异常 Caused by: java.sql.SQLException: Incorrect string value: '\xF0 ...
- 如何将List集合存入数据库,解决方案
作为新晋程序员,刚开始接触工作的时候遇到了一个问题.前端传过来一个List集合,需要将集合存入数据库,实体类字段为List类型,数据库中为varchar.而数据库中是不能直接存List集合的,这就需要 ...
- 微信移动端数据库组件WCDB系列(二) — 数据库修复三板斧
前言 长久以来SQLite DB都有损坏问题,从Android.iOS等移动系统,到Windows.Linux 等桌面系统都会出现.由于微信所有消息都保存在DB,服务端不保留备份,一旦损坏将导致用户消 ...
- Mybatis:敏感信息加密存入数据库、解密读出
业务场景 敏感信息(姓名.身份证)存入数据库时应当需要加密,防止被恶意访问数据库时暴露信息. 解决方案 由于项目数据库中间件使用的是Mybatis,所以使用Mybatis中的BaseTypeHandl ...
- JS同时上传表单图片和表单信息并把上传信息存入数据库,带php后端源码
微信小程序开发交流qq群 581478349 承接微信小程序开发.扫码加微信. 利用JQ,jquery.form.js,bootstrap实现上传表单图片和表单信息并把上传的图片地址,inp ...
- php 变量写入数据库,PHP基础/JS变量存入数据库 | 学步园
今天在研究腾讯的第三方接入 ,参照 遇到的一个必经的问题是,如何把js变量存入数据库中. 1 . 实际需求是把 openId 以及 accessToken 存入mysql中 ,以便维护用户的信息. ...
- 微信OPENID授权方法
今天搞了下微信授权, 总结了下微信的授权规则与步骤 先来几个关键字 Openid 微信ip(属于唯一指向公众号的id) redirect_uri 授权回调地址 State 回调地址带参数 Appi ...
- 用纯ASP代码实现图片上传并存入数据库中
用纯ASP代码实现图片上传并存入数据库中 热 ★ 用纯ASP代码实现图片上传并存入数据库中 用ASP编写网站应用程序时间长了,难免会遇到各式各样的问题,其中关于如何上传文件到服务器恐 ...
最新文章
- 汇编伪指令EVEN(数据对齐的伪指令,使得下一个变量的起始地址是偶数字节的)
- 老司机也晕车--java字符串String晕车之旅
- python爬取百度贴吧xpath_爬虫基础系列xpath实战——爬取百度贴吧图片(3)
- 打造个性化的Internet Explorer
- oracle 取时间比较,Oracle最大日期获取方法
- java获取inputstream_Java:我怎样才能从inputStream获取编码?
- C#运行时的相互关系
- Android开发新手常见的10个误区
- UC桌面 测试版本发布
- 用连续自然数之和来表达整数
- linux根据关键字查询日志的方法
- python做情感分析【中、英文都有】
- php必应壁纸 分辨率,必应壁纸php获取接口
- Chrome浏览器未连接到互联网的解决办法
- UML常用的基本图形简介
- EFR32--如何在EFR32BG22透传中添加AT指令控制
- JavaWeb框架(二):Servlet组件入门
- C语言中 \ 的作用
- cube station下载_cube station魔方软件下载
- 如何使用 Skopeo 做一个优雅的镜像搬运工