年に何度か

年に何度か書くブログ。昔は日記だった。

ruby-dbiのquoteメソッド

dbh.quote name

みたいな事をやっていたんだけど、本番環境に乗せたら動かないので何かと思って調べたら、

あと、MySQL との組み合わせでも検索でエラーがでたり。なんか MySQL driver から quoteメソッドがなくなっていてエラーになるんだけど、これは代替手段があるんだろうか・・・

ruby-dbi 0.4.x - h4yの日記

と、同じ様に困っている方もいらした。

いろいろ検索してみた結果、

msql = Mysql::new('192.168.1.10','test','test2001','TEST_RUBY')
res_price = msql.query("select name,price from test_table where price #{zyoken} '#{Mysql::quote f_price}'")

快速MySQLでデータベースアプリ!(7):Rubyで作るデータベースCGI (2/3) - @IT

こんなサンプルソースがあったので、試してみたら動いた。
言葉があってるのか微妙だけど、インスタンスのメソッドじゃなくてクラスのメソッドを直に使えば良かったみたい。

Mysql::quote name