C中的Mysql INSERT语句

时间:2015-02-19 09:01:37

标签: mysql c raspberry-pi sql-insert

我要在这里循环,无法解决我的问题。我看过很多假设的答案,但没有解决我的错误。

我正在尝试将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);

感谢您提供任何帮助。

安迪

1 个答案:

答案 0 :(得分:1)

您的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