这是我的代码中的一个例子。我试图将currentTemp
插入到我的数据库中,但是我的数据库中的条目因插入而不是变量currentTemp
的值而返回0。谁能告诉我如何正确地做到这一点。
#include <unistd.h>
#include <stdio.h>
#include <mysql/mysql.h>
#include <my_global.h>
int main (int argc, char* argv[]){
int val = 280;
int currentTemp = (val / 4) - 50;
//while true loop
while(1) {
//login
char *server = "server";
char *user = "user";
char *password = "pass";
char *database = "database";
// Verbinding maken met de database.
conn = mysql_init(NULL);
if (!mysql_real_connect(conn, server,user, password, database, 0, NULL,0)){
fprintf(stderr, "%s\n", mysql_error(conn));
}
//Query for putting currentTemp into my database
if(mysql_query(conn, "INSERT INTO temperature VALUES(currentTemp)")!=0){
mysql_error(conn);
}
}
答案 0 :(得分:2)
您尚未在此处插入值:
if(mysql_query(conn,“INSERT INTO Temperatuur VALUES(currentTemp)”)!= 0)
您需要使用snprintf()
并打印currentTemp
并使用它:
char buf[1024];
snprintf(buf, sizeof buf, "INSERT INTO temperatuur VALUES(%d)", currentTemp);
if(mysql_query(conn, buf) != 0 ) {
....
}