Das geht ja ziemlich durcheinander in Deinem Code:
$sql = new PDO("id, name, email, message, datetime, ip");
Warum das? Weiter oben hast Du ein PDO Objekt bereits erstellt! Und nun machst Du es wieder kaputt. Wobei mit dem einzigen String als Argument eigentlich eine Fehlermeldung kommen müsste.
Aber vielleicht kommt diese Zeile ja gar nicht erst beim Interpreter an? Prüf das mal. MFG