私は現在MySqlを使用していますが、将来にわたって利用できるようにするためにODBCソリューションを使用したいと考えています。
ODBCデータベースに渡す前にユーザー入力をサニタイズするにはどうすればよいですか?
そして、その間、文字列を二重引用符で囲みます。たとえば、 "INSERT INTO VALUES(description)" "`ですが、テキスト自体に二重引用符が含まれている場合はどうなりますか?
私は現在MySqlを使用していますが、将来にわたって利用できるようにするためにODBCソリューションを使用したいと考えています。
ODBCデータベースに渡す前にユーザー入力をサニタイズするにはどうすればよいですか?
そして、その間、文字列を二重引用符で囲みます。たとえば、 "INSERT INTO VALUES(description)" "`ですが、テキスト自体に二重引用符が含まれている場合はどうなりますか?
パラメータ化されたSQL文を使用してみてください
このような。
INSERT INTO MyTable (Field1,Field2) VALUES (:Param1,:Param2)
パラメータの使用方法の詳細については、embarcaderoのこの記事を確認してくださいUsing Parameters in Queries.
可能であれば、おそらくdelphiからRMIを介してHibernateを使用します。これはJava中心ですが、プログラマーを基盤となるDBからほぼ完全に隔離し、前述の問題やその他多くの問題を処理します。
ところで、二重引用符で質問に答えるには、二重引用符を含む値を保存するには、二重引用符としてエスケープします。たとえば、
This is "my" text
として保存されます
"This is ""my"" text"