获取access_token并保存到服务器MySQL数据库
1.新建⼀个专门⽤于获取access_token的⽂件,包含⼀个获取类
2.类中定义两个⽅法:1个⽤于获取token,另外⼀个⽤于连接服务器,将数据保存到云服务器的数据库
4.⽂件放到服务器定时刷新,使⽤php函数 ignore_user_abort();
//tips:不推荐使⽤,极其不稳定,其他任务执⾏时会打乱这个任务
ignore_user_abort();
北大青鸟it培训费用
set_time_limit(0);
向数据库中每分钟添加⼀个元素,测试结果 如下:
tips:  把⽂件放到服务器后要先运⾏⼀下,然后再关掉。
逻辑部分放到do⾥⾯,while(true)可以实现⼀个死循环。
3.demo:access_token.php
web中label标签作用<?php
/*
* 定时获取access_token,存到数据库,实现公⽤
* */
$getToken = new getAccessToken();
$getToken->accessTokenCallBack();
$getToken->sqlConnect();
//获取token类
class getAccessToken
{
public $access_token;//⽤来保存token
public $flag = 1;
/
/获取token
public function accessTokenCallBack()
{
define("APPID", "xxxxxxxx");//你的appid
define("APPSECRET", "xxxxxxxxxx");//你的appsecret
$appId = APPID;
$appSecret = APPSECRET;
//请求地址
$url = "api.weixin.qq/cgi-bin/token?grant_type=client_credential&appid=$appId&secret=$appSecret";
//发送get请求,并将返回的json转化为数组,提取出token
$ch = curl_init();//c初始化⼀个cURL会话
curl_setopt($ch, CURLOPT_URL, $url);//将URL设置为我们需要的URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
access开发实例教程curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);//获取json返回数据
curl_close($ch);
$jsonInfo = json_decode($output, true);
mysql无法连接到服务器$this->access_token= $jsonInfo["access_token"];
}
//连接数据库,并将新的值赋到对应表中!tips:需要已经创建好数据库的表
eclipse安装好了在哪里打开
public function sqlConnect(){
$hostName = "w.rdc.sae.sina";//你的数据库地址
$usrName = "xxxxxxx";//⽤户名,密码,端⼝号,数据库名
$passWord = "xxxxxxxxxx";
$port = "3306";
$dbname = "xxxxxxxxxx";
$content = mysqli_connect($hostName,$usrName,$passWord,$dbname,$port);//连接函数,返回连接句柄
mysqli_set_charset($content,'utf-8');
if($content){
echo "连接成功--";
}else{
die("连接失败:".mysqli_connect_error());
}
if($this->access_token == NULL){
echo "获取access_token失败!";
}else {
//插⼊语句
// $sqlStr = "insert into Access_token(token,flag)
// VALUES('$this->access_token','$this->flag')";
//更新语句
$sqlStr = "update Access_token set token = '$this->access_token'";
if (mysqli_query($content, $sqlStr)) {
echo "更新成功";
简述spring三个常用注解
} else {
echo "更新失败:" . mysqli_error($content);
}
}
mysqli_close($content);
}
}
4.容易出现问题的地⽅:
1)这版code适⽤于数据库已经建好表。⽽且表中已经赋了初值。token要⾄少留出512个字节的空间。创建数据表语句
$sql = "CREATE TABLE Access_token (
token VARCHAR(512) NOT NULL,
flag int(1) NOT NULL
)";
2)在赋值语句中,因为赋的是变量名字,所以变量名字外必须⽤单引号''括起来,否则写⼊数据库内容失败。给新建数据表赋值
sql1 = "insert into Access_token(token,flag)
VALUE ('$this->access_token',$this->flag)";
3)在连接数据库时,使⽤mysqli,因为mysql不安全。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。