0

我有一个函数可以oid从表中的字段中找到一个。根据文档,该oid字段是自动创建并自动递增的。听起来很棒。

def teddy_bear_id_by_url(url)
  query = "select oid from teddy_bears where url = \"#{url}\""
  res = $db.execute(query)
  return res
end

不幸的是[],当在 sqlite shell 中运行查询时,此代码返回一个(空数组),给出一个“好”值(例如4)。

def teddy_bear_id_by_url(url)
  return $db.execute("select oid from teddy_bears where url = '?'", url)
end

以上也不行。

我确实检查了它url包含我认为它的作用。

可能会发生什么?

4

1 回答 1

1

您可能会遇到一些有趣的事情url,再加上您的字符串插值,正在弄乱您的 SQL。最好的办法是在execute调用中使用占位符:

$db.execute("select oid from teddy_bears where url = ?", url)
于 2012-07-16T07:16:14.787 回答