2016-11-25 9 views
0

私は現在、一方の端にルビがあり、もう一方の側にはmysqlデータベースとPHPプレゼンテーションを持っているプロジェクトに取り組んでいます。私は本当にルビーとのDBにコンテンツをプッシュし、その後、PHPでそれを引き出すことができるようにしたいと思います。コンテンツは現在jsonでエンコードされていますが、両端で同じ方法で文字列をエスケープして、アーティファクトの束に縛られることはありません。mysql_real_escape_string()と並行して良いルビーがありますか?

本当にありがとうございます。

+0

どのようにデータをデータベースに書き込んでいますか? Rubyは汎用言語であり、あらゆる種類の文字列エスケープ機能を提供するために使用しているデータベースライブラリに依存します。 – meagar

+0

私はruby mysql gemを標準のcon =で使用して接続を開き、次にcon.queryの使用法を開きます。 – itchyspacesuit

答えて

3

ルビーの答えは、mysql2のような低レベルのドライバを避け、代わりにSequelまたはActiveRecordのようなデータベースレイヤーをRailsにバンドルして使用することです。

続編は、これら二つの最もきまじめなオプションであり、それはあなたが、プレースホルダ値を持つ文を書くことができます:

INSERT INTO my_table (name, on_date) VALUES (?,?) 

バインディングを使用してエスケープ事実はあなたのために処理された後にデータが追加される方法自動的に。これが最も安全な方法です。

手動でエスケープする必要がある場合は、間違っていると巨大なリスクにさらされる可能性があるため、可能な限り明確にしてください。

PHPは、データベースコールを作成するための挑戦的なアプローチをとって、ひどい評判を得ています。 Rubyのアプローチは、Pythonの世界のように、はるかに整然としたものであり、データベースコードを書くときに、より高いレベルの抽象化の使用を奨励します。

+0

偉大な答え。私は続編を撃つつもりです。ありがとう! – itchyspacesuit

関連する問題