【问题标题】:Mysql INSERT statement in CC中的Mysql INSERT语句
【发布时间】:2015-02-19 09:01:37
【问题描述】:

我在这里发疯了,无法解决我的问题。我查看了许多无法解决我的错误的假设答案。

我正在尝试将温度和湿度数据从 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);

感谢您提供的任何帮助。

安迪

【问题讨论】:

  • temphumidity float 的数据类型吗?此外,date 应该在 quotes 中。
  • 最好在mysql_query(conn, query); 之后使用mysql_error(conn) 以查看错误。

标签: mysql c raspberry-pi sql-insert


【解决方案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

【讨论】:

  • 这已经回答了我的问题。我知道社区不会让我失望。非常感谢你。 :D
猜你喜欢
  • 2011-12-04
  • 1970-01-01
  • 2023-03-31
  • 2011-07-31
  • 2010-09-07
  • 1970-01-01
  • 2010-11-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多