shimgo
3/21/2016 - 7:13 AM

mysql2によるDB接続、prepared statementの使用

mysql2によるDB接続、prepared statementの使用

require 'mysql2'

client = Mysql2::Client.new(
  :host => "localhost",
  :username => "username",
  :password => "XXXXXXXXX",
  :database => "database"
)

sql = %{
  SELECT 
    id,
    created_date as created_at
  from users
  where 
    created_date > ?
    limit ?
}
stmt = client.prepare(sql)

# DateやTimeは自動的にCastされる
# パラメータが足りなければ当然エラー
res = stmt.execute(Date.today - 365, 100)
res.each { |c| p c }

# field名を取得
p stmt.fields