# Wago MySQL mehrere Daten in Datenbank schreiben -> Fehlermeldung



## Morpheus115 (2 November 2014)

Hallo Leute,

Ich wollte mit einer Wago SPS Werte in eine MySql Datenbank schreiben, mit zwei Werten ist mir das auch gelungen. Als ich es mit vier Werten versucht habe jedoch nicht.

Ich bekomme immer diese Fehlermeldung: 'MYSQL-ERROR: 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 $'(Wirk, Schein, I1, I2) VALUES (50, 123)55)40)'

Ich bin nach dieser Anleitung vorgegangen: https://www.youtube.com/watch?v=0isTiU06bbA

Im Anhang findet ihr mein Programm.

Ich hoffe jemand von euch kann mir weiterhelfen und mir eventuell meinen Fehler erklären.

Vielen vielen Dank
LG Harry


----------



## Morpheus115 (2 November 2014)

Der Code für das SQL Statement für zwei Werte lautet folgendermaßen, allerdings habe ich keinen Plan wie dieser für 4 Variablen aussehen soll:

FUNCTION SQLStatement : STRING
VAR_INPUT
    s_Table: STRING;
    i_ID_Tag : INT;
    i_ID_Value : INT;
END_VAR
VAR
    sTemp : STRING(500) := 'INSERT INTO ';
END_VAR

------------------------------------------------------------------

sTemp :=CONCAT(Stemp, s_Table);
sTemp :=CONCAT(Stemp, ' (id_tag, id_value) VALUES (');
sTemp :=CONCAT(Stemp, INT_TO_STRING(i_ID_TAG));
sTemp :=CONCAT(Stemp, ', ');
sTemp :=CONCAT(Stemp, INT_TO_STRING(i_ID_VALUE));
sTemp :=CONCAT(Stemp, ')' );
SQLStatement := sTemp;


----------



## Morpheus115 (3 November 2014)

Hallo Leute,

Habe den Fehler selbst gefunden, es lag daran dass ich übersehen habe dass zwischen zwei Werten ein anderer Code stand als am Ende:

sTemp :=CONCAT(Stemp, s_Table);
sTemp :=CONCAT(Stemp, ' (id_tag, id_value) VALUES (');
sTemp :=CONCAT(Stemp, INT_TO_STRING(i_ID_TAG));
*sTemp :=CONCAT(Stemp, ', ');*
sTemp :=CONCAT(Stemp, INT_TO_STRING(i_ID_VALUE));
*sTemp :=CONCAT(Stemp, ')' );*
SQLStatement := sTemp;

Ich musste also zwischen zwei Werten nur den oberen Code einfügen (manchmal sieht man den Wald wohl vor lauter Bäumen nicht).

Lg Harry

Thread kann geschlossen werden


----------

