我想使用以下代码将网页的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
答案 0 :(得分:1)
我猜SQLite驱动程序不知道如何将URI::HTTP
转换为SQLite本机类型。您可以通过将URI转换回String来帮助它:
database.execute(sql, "url" => url.to_s, "titulo" => title)