arduino guarda valor 0 en mysql

Hola buenas! a mi me ocurre algo parecido, el arduino lee los datos correctamente, el php funciona (comprobado manualmente) pero me inserta valores 0, he cambiado en el arduino las variables a enviar por valores fijos y sigue guardando valores 0 dejo parte del codigo por si alguien puede ayudarme, gracias de antemano

/// ARDUINO ///

String url = "http://192.168.1.125/postsensores.php?";
String data = “tempeamb=20&humedamb=80”;
Serial.print("Requesting URL: ");
Serial.println(url);
client.print(String("POST “) + url + " HTTP/1.0\r\n” +
"Host: " + server + “\r\n” +
“Accept: " + “/” + "\r\n” +
"Content-Length: " + data.length() + “\r\n” +
“Content-Type: application/x-www-form-urlencoded\r\n” +
“\r\n” + data);
delay(10);
Serial.println(“Respond:”);
while(client.available()){
String line = client.readStringUntil(’\r’);
Serial.print(line);
}

/// PHP ///

<?php // postsensores.php // Importamos la configuración require("configdb.php"); // Leemos los valores que nos llegan por GET echo "Conectado a la BD"; $temperaturamb = $_POST['tempeamb']; $humedadamb = $_POST['humedamb']; echo "aqui va la temperatura:" . "$temperaturamb"; // Esta es la instrucción para insertar los valores $query = "INSERT INTO datos (TEMPERATURAAMBIENTE, HUMEDADAMBIENTE) VALUES ('".$temperaturamb."','".$humedadamb."')"; // Ejecutamos la instrucción mysqli_query($con, $query); mysqli_close($con); ?>

Hola. Creo que estás mezclando conceptos de petición GET y POST. Si estás indeciso, la opción GET es más sencilla y suficiente para lo que estás intentando enviar.

Hola noter! gracias por tu respuesta, probablemente tenga los conceptos confundidos, he visto varios tutoriales y comentarios y sigo sin aclararme, me podria decir por favor algun ejemplo o tutorial donde poder resolver mis dudas, gracias de nuevo

Deberás adaptar el código PHP para petición GET, en lugar de POST. En este hilo, por ejemplo, se solucionó un problema con una petición GET a un servidor externo. La solución fue apareciendo en la página 2. Echa un vistazo a ver si te inspira.

tenia el mismo problema, efectivamente arduino envia los valores a la base de datos, pero envia son “0”, en un principio pense que era por la conversion a string esta que pones, String data = “tempeamb=20&humedamb=80”;

pero probe con otro archivo php, y me funciono, ademas tambien tenia dudas aqui:

client.print(String("POST ") + url + " HTTP/1.0\r\n" +
             "Host: " + server + "\r\n" +
             "Accept: *" + "/" + "*\r\n" +
             "Content-Length: " + data.length() + "\r\n" +
             "Content-Type: application/x-www-form-urlencoded\r\n" +
             "\r\n" + data);

si mal no recuerdo, busca en www.rinconingenieril.es para el codigo php,

<?php
   $conexion = mysql_connect("localhost", "TuUsuario", "TuContraseña");
   mysql_select_db("tubasededatos",$conexion);
                    
   mysql_query("INSERT INTO `tabla`(`valor1`,`valor2`) VALUES ('" . $_GET['valor1'] . "','" . $_GET['valor2'] . "')", $conexion);

?>

y para el codigo del envio por GET reemplaza ese de arriba por algo como esto :

if (client.connect(server, 80)) {
  
   client.print("GET /postsensores.php.php?tempeamb=");
   client.print(20);
   client.print("&humedamb=");
   client.print(80);       
   client.println(" HTTP/1.1");
   client.print("Host: ");
   client.println(server);
   client.println("User-Agent: Arduino-Ethernet");
   client.println("Connection: close");
   client.println();   
 }