将 Arduino 变量值插入 MySQL table
Insert Arduino variable value into MySQL table
我正在尝试将 Arduino 的变量值插入 MySQL 数据库 table,我尝试了不同的方法但没有成功。
有人可以帮我解决下面这段代码吗?
void loop() {
unsigned long var =(millis()/1000);
if(var%30 == 0)
{
var = (var==0)?1:var;
char INSERT_SQL[] = "INSERT INTO Meter.consumption VALUES ("var");";
MySQL_Cursor *cur_mem = new MySQL_Cursor(&conn);
cur_mem->execute(INSERT_SQL);
delete cur_mem;
}
感谢所有答案...
替换为:
char INSERT_SQL[] = "INSERT INTO Meter.consumption VALUES ("var");";
与:
char INSERT_SQL[] = "INSERT INTO Meter.consumption VALUES ('var');";
问题是您需要将变量 var
与 SQL 命令连接起来。为此,您可以结合使用辅助变量 query
和 sprintf
函数来构建正确的 INSERT 命令。
替换为:
char INSERT_SQL[] = "INSERT INTO Meter.consumption VALUES ("d");";
MySQL_Cursor *cur_mem = new MySQL_Cursor(&conn);
cur_mem->execute(INSERT_SQL);
有:
char INSERT_SQL[] = "INSERT INTO Meter.consumption VALUES (%d);";
char query[255];
sprintf(query, INSERT_SQL, var);
MySQL_Cursor *cur_mem = new MySQL_Cursor(&conn);
cur_mem->execute(query);
请注意,尽管 sprintf
是 Arduino 中未记录的函数,但它的工作方式与 C 中可用的函数类似。您可以查看更多详细信息 here。由于它是一个 built-in 函数,因此无需在您的代码中包含任何额外的 header。
我正在尝试将 Arduino 的变量值插入 MySQL 数据库 table,我尝试了不同的方法但没有成功。
有人可以帮我解决下面这段代码吗?
void loop() {
unsigned long var =(millis()/1000);
if(var%30 == 0)
{
var = (var==0)?1:var;
char INSERT_SQL[] = "INSERT INTO Meter.consumption VALUES ("var");";
MySQL_Cursor *cur_mem = new MySQL_Cursor(&conn);
cur_mem->execute(INSERT_SQL);
delete cur_mem;
}
感谢所有答案...
替换为:
char INSERT_SQL[] = "INSERT INTO Meter.consumption VALUES ("var");";
与:
char INSERT_SQL[] = "INSERT INTO Meter.consumption VALUES ('var');";
问题是您需要将变量 var
与 SQL 命令连接起来。为此,您可以结合使用辅助变量 query
和 sprintf
函数来构建正确的 INSERT 命令。
替换为:
char INSERT_SQL[] = "INSERT INTO Meter.consumption VALUES ("d");";
MySQL_Cursor *cur_mem = new MySQL_Cursor(&conn);
cur_mem->execute(INSERT_SQL);
有:
char INSERT_SQL[] = "INSERT INTO Meter.consumption VALUES (%d);";
char query[255];
sprintf(query, INSERT_SQL, var);
MySQL_Cursor *cur_mem = new MySQL_Cursor(&conn);
cur_mem->execute(query);
请注意,尽管 sprintf
是 Arduino 中未记录的函数,但它的工作方式与 C 中可用的函数类似。您可以查看更多详细信息 here。由于它是一个 built-in 函数,因此无需在您的代码中包含任何额外的 header。