ruby-on-rails - ruby /Rails/PostgreSQL PGError : syntax error at or near

标签 ruby-on-rails ruby postgresql

当我尝试从 postgresql 数据库中的表中选择 cookie 值时,标题中出现错误,我不知道为什么。选择此表中的其他字段工作正常。

这是中断的行:

user=UniqueUser.find(:all, :select => 'DISTINCT visitor_id', :conditions=> "visitor_id=#{visitorid}")

该列被定义为字符变化(255)

这是错误:

187/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapt
ers/abstract_adapter.rb:219:in `log': PGError: ERROR:  syntax error at or near "
c5a" (ActiveRecord::StatementInvalid)
LINE 1: ...M "unique_users" WHERE (visitor_id=d5fb0ff2-319e-4c5a-b07c-a...

Rails 似乎应该在 where 子句中的数据字段周围加上引号。

我当然不是 Rails 专家,所以我做错的事情可能非常简单,感谢任何帮助。

最佳答案

您没有正确转义您的输入。试试这个:

user = UniqueUser.find(:all, :select => 'DISTINCT visitor_id', :conditions=> ['visitor_id = ?', visitorid])

关于ruby-on-rails - ruby /Rails/PostgreSQL PGError : syntax error at or near,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4043140/

相关文章:

sql - 插入外键时出现语法错误

sql - 用于在数据库中查找用户的 SQL 查询的性能

html - 文本关闭 Show Page Rails 4

ruby-on-rails - ActiveModel Serializer - 将参数传递给序列化器

ruby-on-rails - activemerchant 未定义方法 'month'

ruby-on-rails - 尝试将UserMailer包含到我的 Controller 中时出现语法错误

postgresql - 如何在ireport中有条件地运行sql?

html - Foundation 5 图标在生产中不起作用,rails

ruby-on-rails - Rails 路由错误未初始化常量

javascript - 在 JavaScript 中使用 CryptoJS 和 AES 加密的 AES 加密的不同输出