ESP8266 MySQL, PHP datos

Buenos días,
Antes de nada quería dar las gracias por vuestras aportaciones y ayuda. Este es mi primer Post-pregunta.
Tengo un servidor PHP con Mysql en local. También dispongo de un ESP8266 que quiero poner de servidor y de cliente. Quiero que cambie de estado y grabe la información en Mysql pasando los parámetros a un fichero php.
La parte de servidor funciona correctamente pero no graba la información de cambio de estado en la BBDD.
Adjunto el código.

#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <string.h>
const char* ssid = "xxxx1";
const char* password = "password";
#define LOCALIP "192.168.1.101" // String for the local server configuration
IPAddress ip_addr(192,168,1,101); //Requested static IP address for the ESP
IPAddress gw(192,168,1,1); // IP address for the Wifi router
IPAddress netmask(255,255,255,0);
WiFiClient client;
const char* host="http://192.168.1.200/";
WiFiServer server(80);

  void enviarDatosON() { 
  String nombre=("LuzComedor");
  String estado=("ON");
  String data = "nombre=" + nombre + "&ip=" + ip_addr + "&estado=" + estado;
  String PostData = ("http://192.168.1.200/xxxxx/xxxxx.php?" + data);
  if (client.connect(host, 80)) {
client.println("POST /posts HTTP/1.1");
client.println("Host: http://192.168.1.200/");
client.println("Cache-Control: no-cache");
client.println("Content-Type: application/x-www-form-urlencoded");
client.print("Content-Length: ");
client.println(PostData.length());
client.println();
client.println(PostData);

long interval = 2000;
unsigned long currentMillis = millis(), previousMillis = millis();

while(!client.available()){

  if( (currentMillis - previousMillis) > interval ){

    Serial.println("Timeout");
    client.stop();     
    return;
  }
  currentMillis = millis();
}

while (client.connected())
{
  if ( client.available() )
  {
    char str=client.read();
   Serial.println(str);
     }      
    }
  }
}

  void enviarDatosOFF() { 
   String nombre=("LuzComedor");
  String estado=("OFF");
  String data = "nombre=" + nombre + "&ip=" + ip_addr + "&estado=" + estado;
  String PostData = ("http://192.168.1.200/xxxxx/xxxxx.php?" + data);
  if (client.connect(host, 80)) {
client.println("POST /posts HTTP/1.1");
client.println("Host: http://192.168.1.200/");
client.println("Cache-Control: no-cache");
client.println("Content-Type: application/x-www-form-urlencoded");
client.print("Content-Length: ");
client.println(PostData.length());
client.println();
client.println(PostData);

long interval = 2000;
unsigned long currentMillis = millis(), previousMillis = millis();

while(!client.available()){

  if( (currentMillis - previousMillis) > interval ){

    Serial.println("Timeout");
    client.stop();     
    return;
  }
  currentMillis = millis();
}

while (client.connected())
{
  if ( client.available() )
  {
    char str=client.read();
   Serial.println(str);
  }      
}

   }

  }
void setup( void) {
  pinMode(2, OUTPUT);
  digitalWrite(2, HIGH);
  Serial.begin(115200);
  WiFi.config(ip_addr,gw,netmask);
  Serial.println ( "" );
  WiFi.begin(ssid, password);
  
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
  
  // Start the server
  Server.begin();
  Serial.println("Server started");
  Serial.println(WiFi.localIP());
}

void loop() {
  WiFiClient client = server.available();
  if (!client) {
    return;
  }
   Serial.println("new client");
  while(!client.available()){
    delay(1);
  }
  
  String req = client.readStringUntil('\r');
  Serial.println(req);
  client.flush();  
  int val;
  if (req.indexOf("/gpio/0") != -1)
    val = 0;
    else if (req.indexOf("/gpio/1") != -1)
    val = 1;
    else {
    Serial.println("invalid request");
    client.stop();
    return;
      }
     if (val= 0)
     enviarDatosON();   //// use a client to send information to MySQL via PHP
     else if (val= 1)
     enviarDatosOFF();   //// use a client to send information to MySQL via PHP
     else{
     }
     
  // Set GPIO2 according to the request
  digitalWrite(2, val);  
  client.flush();
  String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\nGPIO is now ";
  s += (val)?"high":"low";
  s += "</html>\n";

  // Send the response to the client
  client.print(s);
  delay(1);
  Serial.println("Client disonnected");  
}

Cualquier ayuda os la agradeceré.

Saludos.