2016-10-10 6 views
-1

私は4列のテーブルを持っており、Excelのユーザーフォームで更新します。すべてvarchar(255)です。文字を入力しようとすると、mysqlはそれを受け付けません。ここで間違っていますか?データ型を変更する必要がありますか?Mysqlが "'"を許可していません

更新:MySQLに問題がないとわかりました(明らかに:))しかし、私のコードは、テーブルを更新します。

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

ダニー私たちは読者ではありません。あなたのコードで豆をこぼしてください。 – Drew

+0

''\'"のようなバックスラッシュを使用してください – AHJeebon

+0

これはコードにSQLインジェクションの脆弱性があるようです。これは何の言葉ですか?VB Script? – halfer

答えて

1

\とエスケープ'または別の'は:'O''Malley'または

あなたは'O'Malley'書く'O\'Malley'、MySQLはそれゆえ、'O'文字列リテラル(認識されない)名前Malleyが続くと意味無しと'を読みます構文エラー

+0

ありがとう、私はそれらのエラーを取得する理由をクリアしました。私はちょっと私の質問を残して申し訳ありません。私はExcel形式で更新しています。私は、ユーザが\ '追加しようとする度に\'を追加することを期待できません。 – Danny

+0

そして、あなたはMySQLクエリを実行するために使用している言語で 'prepared statement'を使用します。それ以外の場合は、SQLインジェクションを取得します。 – Xenos

+0

申し訳ありませんが、どうすればいいですか? – Danny

関連する問題