これは本当に簡単な質問です
データベースのデータを更新または挿入する 1 つの方法は、次のような準備済みステートメントを使用することです。
Dim cmd As New MySqlCommand("UPDATE `table` SET `field` = ?value", con)
cmd.Parameters.AddWithValue("?value", "user given value")
cmd.ExecuteNonQuery()
これは、SQL インジェクションの可能性を防ぐために行います。私の質問は、mysqlHelper クラスを使用して文字列をエスケープするかどうかです。準備されたステートメントと同等ですか?つまり、SQL インジェクションはまだ可能ですか?
エスケープ文字メソッドの使用方法は次のとおりです
Dim cmd As New MySqlCommand("UPDATE `table` SET `field` =" & MySqlHelper.EscapeString("user given value"),con)
cmd.ExecuteNonQuery()