2016-11-25 43 views
0

我目前正在研究一個項目,在另一端有一個mysql數據庫和一個php演示文稿。我真的很想用ruby將內容推送到數據庫,然後用php把它拉出來。內容現在是json編碼,但我希望能夠在兩端以相同的方式逃避字符串,這樣我就不會陷入一堆工件。是否有一個平行於php的好紅寶石mysql_real_escape_string()

任何建議將非常感激。

+0

你如何將數據寫入數據庫? Ruby是一種通用語言,它將依賴於您使用的任何數據庫庫來提供任何類型的字符串轉義功能。 – meagar

+0

我只是使用標準con =的ruby mysql gem來打開連接,然後使用後續的con.query。 – itchyspacesuit

回答

3

Ruby中的答案是避免使用像mysql2這樣的低級驅動程序,而是使用與Rails捆綁在一起的數據庫層,如SequelActiveRecord

續集是這兩個最嚴肅的選擇,它可以讓你寫與佔位符值聲明:

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

您的數據使用綁定和迴避的事實後添加這樣爲您處理自動。這是最安全的方式。

如果您確實需要手動轉義,請儘可能以明顯的方式進行操作,因爲發生此錯誤會使您面臨巨大風險。

由於採用騎士方式編寫數據庫調用,PHP的聲譽很差。 Ruby的方法,就像Python世界中的方法一樣,更爲有序,鼓勵在編寫數據庫代碼時使用更高級別的抽象。

+0

很好的回答。我要給續集一個鏡頭。謝謝! – itchyspacesuit