2016-10-10 4 views
-1

Ich habe eine Tabelle mit 4 Spalten und aktualisieren sie durch Excel-Benutzerformular und alle sind varchar (255). Wenn ich versuche, das Zeichen einzugeben, bekomme ich Syntaxfehler, mysql akzeptiert es nicht ... Was mache ich hier falsch, muss ich den Datentyp ändernMysql nicht erlaubt "'"

Update: Ich dachte, dass das Problem nicht mit MySQL ist (offensichtlich :)) aber mein Code, um die Tabelle zu aktualisieren.

Dim sq As String 
sq = "UPDATE sample.`nov-21` SET `Site work being carried out`='" & sitecombo.value & "',`Group`='" & eqgrp.value & "',`Description`='" & desc.value & "',`T Number`='" & tn.value & "', WHERE sample.`nov-21`.`ID`= " & Me.IDnum & ";" 
+0

Danny sind wir nicht Gedankenleser. Verschütte die Bohnen mit deinem Code. – Drew

+0

Verwenden Sie den umgekehrten Schrägstrich wie '" \ '"' – AHJeebon

+0

Dies sieht aus wie Sie eine SQL-Injection-Schwachstelle in Ihrem Code haben. Welche Sprache ist das - VB Script? – halfer

Antwort

1

Flucht ' mit \ oder anderen ': 'O''Malley' oder 'O\'Malley'

Wenn Sie schreiben 'O'Malley', lesen MySQL Stringliteral 'O' gefolgt von Namen Malley (die nicht erkannt wird) und eine ' ohne Bedeutung, daher der Syntaxfehler.

+0

Vielen Dank Kumpel, Sie haben gerade den Grund, warum ich bekomme sie Fehler. Ich aktualisiere nur meine Frage sorry darüber. Ich aktualisiere durch Excel-Formular. Ich kann nicht erwarten, dass meine Benutzer bei jedem Versuch, ' – Danny

+0

hinzuzufügen, ein \ hinzufügen. Verwenden Sie dann 'prepared statement' in der Sprache, in der Sie die MySQL-Abfragen ausführen. Andernfalls erhalten Sie SQL-Injektionen. – Xenos

+0

Tut mir leid, aber wie mache ich das? – Danny