2016-09-16 4 views
0
var comma = ","; 
var querys = "insert into movie values (" 
      + "'" + movid + "'" 
      +comma 
      + "'" + name + "'" 
      + comma 
      + "'" + genere + "'" 
      + comma 
      + "'" + director + "'" 
      + comma 
      + "'" + description + "'" 
      + ")"; 

コードに関して問題があります。私はexpress.jsとmysqlを使ってウェブサイトを構築しています。ユーザーは新しいムービーをサイトに提出することができます。mysqlで一重引用符を使用するとエラーが発生する

ユーザーが投稿した説明のほとんどは、その中に1つしかありません(例:この映画はスタジオで撮影されていません)。これらのような文章は誤りです。 私は変数としてカンマを使用しようとしましたが、このように "" "

これにはどのような解決策がありますか? ほとんどの人がそれを知らないので、ユーザーに\ 'を使用させることはできません。

+1

確かに、このような文字列を連結する代わりにSQLパラメータを使用する方法がありますか?これは起こるのを待っているSQLインジェクション攻撃です。 – David

答えて

0

Javascript String.Replace関数を使用すると、すべての '文字を\' に置き換えることができます。これにより、ユーザーはそれについて考える必要はありません。

関連する問題