qq_47179051 2023-03-30 12:17 采纳率: 100%
浏览 79
已结题

用mysql_connection函数连接arduino和MySQL报错

问题详情:使用arduino IDE烧录至esp01s模块并连上WiFi后依然无法连接数据库(云服务器上的),且报错中显示的地址与我在代码中的地址不同(我的地址是43...*,但是报错中的地址是123.149.21.62,而且每次都一样),求老哥们解答!

注:1、WiFi可以连接,没问题。 2、数据库远程登陆权限已经设置,使用sqlyog可以正常访问。 3、在腾讯云控制台也已经将防火墙的3306端口打开。 4、数据库的账号密码确定没问题。


#include <ESP8266WiFi.h>             // esp8266库
#include <MySQL_Connection.h>    // Arduino连接Mysql的库
#include <MySQL_Cursor.h>
 
IPAddress server_addr(**,**,**,**);   // 安装Mysql的电脑的IP地址
char user[] = "root";              // Mysql的用户名
char password[] = "**";        // 登陆Mysql的密码

char ssid[] = "Psyduck";         // WiFi名
char pass[] = "10001000";     // WiFi密码
WiFiClient client;                 // 声明一个Mysql客户端,在连接Mysql中使用
MySQL_Connection conn(&client);
MySQL_Cursor* cursor;    // 
 
int isConnection=0;
 
void setup()
{
  Serial.begin(9600);
  while (!Serial);      //  等待端口的释放
  Serial.printf("\nConnecting to %s", ssid);
  WiFi.begin(ssid, pass);         // 连接WiFi
  while (WiFi.status() != WL_CONNECTED) {       // 如果WiFi没有连接,一直循环打印点
    delay(500);
    Serial.print(".");
  }
 
  Serial.println("\nConnected to network");
  Serial.print("My IP address is: ");
  Serial.println(WiFi.localIP());     // 打印开发板的IP地址
 
  Serial.print("Connecting to SQL...  ");
  if (conn.connect(server_addr, 3306, user, password))         // 连接数据库
  {
    isConnection=1;
    Serial.println("成功连接数据库---OK.");   
  }else{
    isConnection=0;
    Serial.println("连接数据库失败---FAILED.");
  }
  cursor = new MySQL_Cursor(&conn);    // 创建一个数据库游标实例
}
 
void loop()
{

}

img

  • 写回答

3条回答 默认 最新

  • qq_47179051 2023-04-07 17:56
    关注

    最终发现是库的问题,我将从arduino上下载的库删除后添加了github上的库之后就可以用了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月15日
  • 已采纳回答 4月7日
  • 创建了问题 3月30日

悬赏问题

  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加