2012-01-17 16 views
-2

JSONArrayを私のスクリプトが解読するサーバーに送信し、その中のデータを使用してMYSqlデータベースを更新します。現時点での問題は、スクリプトがエスケープ文字としてphpで使用されているアポストロフィを含むフィールドに遭遇するまで、すべてのことがうまくいくということです。アポストロフィをJSONで保存する

アポストロフィを保存したままでこれを回避するにはどうすればよいですか? Android側で何かを追加してからサーバー側を削除しますか、それともサーバー側で無視してもかまいませんか?

何か助けていただければ幸いです。

+0

PHPのエスケープ文字はバックスラッシュで、アポストロフィはPHPのエスケープとして使用されていません。 json文字列にアポストロフィがある場合は、バックスラッシュでエスケープする必要があります。 '' '' '' '引用符はエスケープされています」}' ' –

+0

それが正常に動作しない場合、それは何をしますか?いつ期待どおりの動作をしませんか?JSONの構文解析? ?(私はこれが[Bobby-Tables](http://bobby-tables.com/)の領土だと賭けている)データベースから引き出されているのですか?magic_quotesがデータを迷惑にしていますか? – Quentin

答えて

1

行間を読むと、PHPはアポストロフィをエスケープとして扱いますが、それはあなたがsanitising your database inputではありません。

MySQLクエリでは、アポストロフィに特別な意味(文字列カプセル化)があり、エスケープされていないアポストロフィが存在するとSQL構文が壊れます。

私はあなたが使用しているデータベースドライバか分からないが、あなたのいずれかは、これらのいずれかが必要:

...以上が、prepared statementsを使用しています。

+0

Dave、ありがとう上記を行ってください。 –

関連する問題