2016-05-20 9 views
0

mysqlテーブルにオブジェクトを挿入する際に問題が発生しています。mysqlのjavascriptの文字をエスケープする

JSON.stringify(coordinates) 

[-90.02532485,35.04651167] 

また、いくつかのURL:一つは、(VARCHARを使用して)Googleの緯度/経度のオブジェクトである

mysqlEscape(aurl); 

function mysqlEscape(stringToEscape){ 
    return stringToEscape 
     .replace("\\", "\\\\") 
     .replace("\'", "\\\'") 
     .replace("\"", "\\\"") 
     .replace("\n", "\\\n") 
     .replace("\r", "\\\r") 
     .replace("\x00", "\\\x00") 
     .replace("\x1a", "\\\x1a"); 
}; 

error on http://pbs.twimg.com/media/Ci5x4CZXAAAZCZc.jpg 

これらをどのように挿入することができますか?

+1

バッククォートを追加しましたか?これで何を達成したいのですか? –

+0

バッククォートは、表/フィールド名の場合のみ* **です** **値でない場合。文字列値は、一重引用符または二重引用符を使用します。 –

+0

このJavaScriptはブラウザまたはサーバー(node.js)で動作していますか? –

答えて

0

JSの文字列をエスケープするには、独自のソリューションをローリングするのではなく、encodeURIComponent関数を使用する方がよいでしょう。詳細については

console.log(encodeURIComponent('http://pbs.twimg.com/media/Ci5x4CZXAAAZCZc.jpg')); 

// output -> http%3A%2F%2Fpbs.twimg.com%2Fmedia%2FCi5x4CZXAAAZCZc.jpg 

encodeURIComponentdocumentationを見てください。

関連する問題