获取用户openId存入数据库⑤

·这一篇数微信公众号开发的第五篇,如果你是小白请点击下方第一篇的链接:

微信公众号开发-接口配置信息(第①篇)-CSDN博客

  • 先获取token,代码:

<?php  //获取token

    $appId = 'wx08888888888888888888; //改成自己的

    $appSecret = '65188888888888888888888888';   //改成自己的    

    

    $accessTokenUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appId&secret=$appSecret";

    $accessTokenResponse = file_get_contents($accessTokenUrl);

    $accessTokenData = json_decode($accessTokenResponse, true);

$accessToken = $accessTokenData['access_token'];

  • 添加openid入数据库,代码:
<?php

//获取openid存入数据库

require "./idInfo.cls.php"; //引入的就是上面的代码

$url = "https://api.weixin.qq.com/cgi-bin/user/get?access_token=$accessToken";

$urlDatas = file_get_contents($url);

$urlData = json_decode($urlDatas , 1);

// print_r($urlData);

$conn = new mysqli('localhost', 'root', '123456', 'weixin');

if ($conn->connect_error) {

    die("连接数据库失败: " . $conn->connect_error);

}



foreach ($urlData['data']['openid'] as $openid) {

    $sql = "SELECT * FROM `usermain` WHERE `userOpenId` = ?";

    $stmt = $conn->prepare($sql);

    $stmt->bind_param("s", $openid);

    $stmt->execute();

    $result = $stmt->get_result();



    if ($result->num_rows > 0) {

        // openid 已存在

        echo "openid: '{$openid}' 已存在,\n";

    } else {

        // 插入新的 openid

        $sql = "INSERT INTO `usermain` (`userOpenId`) VALUES (?)";

        $stmt = $conn->prepare($sql);

        $stmt->bind_param("s", $openid);

        if ($stmt->execute()) {

            echo "openid 已添加到数据库\n";

        } else {

            echo "添加 openid 到数据库失败: " . $stmt->error . "\n";

        }

    }



    $stmt->close();

}



$conn->close();

  • 修改完上面代码后,直接运行,一共有2个openid

数据库添加成功

·以上就是openid存入数据库的所有内容

·下一篇就是功能模块了,需要的去看微信公众号开发第⑥篇

以下是一个示例代码模块,用于将获取用户openid存入数据库中: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class WechatOpenIdDao { private static final String DB_URL = "jdbc:mysql://localhost:3306/mydatabase"; private static final String DB_USERNAME = "username"; private static final String DB_PASSWORD = "password"; public void saveOpenId(String openid) { Connection conn = null; PreparedStatement stmt = null; try { // 连接数据库 conn = DriverManager.getConnection(DB_URL, DB_USERNAME, DB_PASSWORD); // 定义SQL语句 String sql = "INSERT INTO wechat_users (openid) VALUES (?)"; // 创建PreparedStatement对象 stmt = conn.prepareStatement(sql); // 设置参数 stmt.setString(1, openid); // 执行更新操作 stmt.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭资源 try { if (stmt != null) { stmt.close(); } if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } } } ``` 在上述示例代码中,我们使用了Java的JDBC API来连接数据库,并执行SQL语句。我们定义了一个`saveOpenId`方法,用于将获取到的用户openid存入名为`wechat_users`的数据库表中。在方法中,我们首先定义了数据库的URL、用户名和密码,然后连接数据库,并执行SQL语句。我们使用了`PreparedStatement`对象来创建SQL语句,并设置参数。最后,我们通过调用`executeUpdate`方法来执行SQL语句。 请注意,上述代码仅仅是一个示例,实际上,您需要在代码中添加更多的异常处理和安全性检查。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值