Ankündigung

Einklappen
Keine Ankündigung bisher.

Fehlermeldung MySQL

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Fehlermeldung MySQL

    Hallo,
    könnte mal Hilfe gebrauchen.
    Ich sende einen Wert aus einemArduinoprogramm an eine Datenbank.
    Bekomme aber eine Fehlermeldung
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')
    VALUES('2014-09-12 13:00:08', '427.00')' at line 1

    Das ist meine PHP-Datei:
    PHP-Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Arduino Ultra PHP</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body>
    <?php
    include("ultradb.inc.php");
    $conn mysql_connect(DB_SERVERDB_USERDB_PASSWORD);
    if(
    is_resource($conn))
    {
      
    mysql_select_db(DB_NAME$conn);
      
    mysql_query("SET NAMES 'utf8'"$conn);
      
    mysql_query("SET CHARACTER SET 'utf8'"$conn);
    }
    define("KEY","solong");
    if(isset(
    $_GET['key']))
    {
      if(
    $_GET['key'] == KEY)
      {
        if(
    $_GET['entfernung']) 
        {
          
    $DATUM date("Y-m-d H:i:s");
          
    $ENTFERNUNG mysql_real_escape_string($_GET['entfernung']);
          
          
    $result mysql_query("INSERT INTO arduino_schnee (datumzeit, entfernung,)
                  VALUES('"
    .$DATUM."', '".$ENTFERNUNG."') ") or die(mysql_error());
     
          if(
    mysql_affected_rows() == 1)
          {
            
    $result "Schneehöhe gespeichert";
          } else 
    $result "Fehler beim speichern der Daten in der MySQL-Datenbank";
        } else 
    $result "Keine Schneehöhe übergeben";
      } else 
    $result "Falscher Key";
    } else 
    $result "Kein Key übergeben";
     
    print_r($result);
    ?>
    </body>
    </html>
    Hier die komplette Meldung die am Monitor ausgegeben wird:
    Ethernet initialisieren...
    429 cm
    Verbunden, Sende Daten...
    GET /ultraarduinodb.php
    ?entfernung=429.00
    &key=solong HTTP/1.1
    Host: ursprungwetter.de
    User-Agent: Arduino
    Connection: close

    HTTP/1.1 200 OK
    Date: Fri, 12 Sep 2014 10:58:55 GMT
    Server: Apache/2.2.27 (Unix)
    X-Powered-By: PHP/5.3.29
    Connection: close
    Transfer-Encoding: chunked
    Content-Type: text/html

    f7
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Arduino Ultra PHP</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body>

    f5
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>ultradb.inc.php</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body>

    12
    </body>
    </html>

    ca
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')
    VALUES('2014-09-12 12:58:55', '429.00')' at line 1
    0


    'entfernung' ist der Wert der übergeben wird.

    Kann mir bitte jemand einen Tipp geben?

    Grüsse Bernd


  • #2
    INSERT INTO arduino_schnee (datumzeit, entfernung,)
    Ein Komma zuviel...
    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

    Kommentar


    • #3
      PHP-Code:
      $DATUM date("Y-m-d H:i:s"); 
      Das Datum muss man sich nicht selber zusammensetzen, wenn man den Datentyp datetime benutzt und beim Insert einfach now() schreibt

      Und wie so oft in den letzten Wochen: Die MySQL-Extension ist veraltet, benutzt die MySQLi-Extension
      Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

      Kommentar


      • #4
        Hallo lstegelitz,

        danke für deine Antwort. Manchmal sieht man den Wald vor lauter Bäumen nicht.
        Peinlich.
        Bernd

        Kommentar


        • #5
          wie uha schon sagte ist mysql_* veraltet. eine weitere alternative wäre http://php.net/manual/de/book.pdo.php PDO

          LG
          https://github.com/Ma27
          Javascript Logic is funny:
          [] + [] => "", [] + {} => object, {} + [] => 0, {} + {} => NaN

          Kommentar

          Lädt...
          X