Mysql C 中的 INSERT 语句

Mysql INSERT statement in C

我快疯了,无法解决我的问题。我看了很多假设的答案,但没有解决我的错误。

我正在尝试将温度和湿度数据从 DHT11 传感器获取到 mysql 数据库中。我可以让终端显示读数,一切正常,只是我无法将数据输入数据库。编译c代码没有问题。它只是不会填充数据库。

  char query[2000];
  MYSQL *conn;
  conn = mysql_init(NULL);
  mysql_real_connect(conn, "localhost", "drewibbo", "monkeykangaroo", "temp_humidity", 0, NULL, 0);
  sprintf(query, "INSERT INTO readings(temp,humidity,date,time) VALUES(%d.%d,%d.%d,2015-02-18,00:00:00)",dht11_val[2],dht11_val[3],dht11_val[0],dht11_$
  mysql_query(conn, query);
  mysql_close(conn);

感谢您提供的任何帮助。

安迪

您的 INSERT 查询语法错误,您需要将日期和时间放在引号中,例如。

sprintf(query, "INSERT INTO readings(temp,humidity,date,time) VALUES(%d.%d,%d.%d,'2015-02-18','00:00:00')",dht11_val[2],dht11_val[3],dht11_val[0],dht11_ ...

您的查询可能还有其他问题,这只是我注意到的一个问题。如果发生错误,只需让您的代码报告错误:http://dev.mysql.com/doc/refman/5.1/en/mysql-error.html