0

我想使用以下代码将网页的 URL 存储在我的数据库中:

def add_page(database, url, title)
  sql = "insert into paginas(url, titulo) values(:url, :titulo)"
  database.execute(sql, "url" => url, "titulo" => title)
end

但我得到这个错误:

/home/cris/.rvm/gems/ruby-2.0.0-p247/gems/sqlite3-1.3.7/lib/sqlite3/statement.rb:39:in `bind_param': can't prepare URI::HTTP (RuntimeError)

有什么办法可以解决这个问题?

PS:以下代码正常工作:

def add_page(database, url, title)
  sql = "insert into paginas(url, titulo) values('#{url}', '#{title}')"
  database.execute(sql)
end
4

1 回答 1

1

我猜想 SQLite 驱动程序不知道如何将 a 转换URI::HTTP为 SQLite-native 类型。您可以通过将 URI 转换回字符串来帮助它:

database.execute(sql, "url" => url.to_s, "titulo" => title)
于 2013-07-16T17:15:07.043 回答