当前位置: 首页 > 面试题库 >

如何遍历MySQL结果集?

有翰海
2023-03-14
问题内容

这是我正在使用的代码:

# Run the query against the database defined in .yml file.
# This is a Mysql::result object - http://www.tmtm.org/en/mysql/ruby/
@results = ActiveRecord::Base.connection.execute(@sql_query)

在我的视图中,这是我要查看的值:

<pre><%= debug @results %></pre>
Outputs: #<Mysql2::Result:0x007f31849a1fc0>

<% @results.each do |val| %>
   <%= val %>
<% end %>
Outputs: ["asdfasdf", 23, "qwefqwef"] ["sdfgdsf", 23, "asdfasdfasdf"]

想象一下,我查询类似的东西select * from Person,并且返回一个结果集,例如:

ID      Name      Age
1       Sergio    22
2       Lazlow    28
3       Zeus      47

如何遍历每个值并输出呢?

这里的文档没有用,因为我尝试了应该存在的方法,但是解释器给我一个错误,指出这些方法不存在。我使用了错误的文档吗?

http://www.tmtm.org/en/mysql/ruby/

谢谢!


问题答案:

如果您使用的是mysql2 gem,那么您应该获取mysql2结果对象,并且根据文档,您应该能够执行以下操作

results.each do |row|
  # conveniently, row is a hash
  # the keys are the fields, as you'd expect
  # the values are pre-built ruby primitives mapped from their corresponding field types in MySQL
  # Here's an otter: http://farm1.static.flickr.com/130/398077070_b8795d0ef3_b.jpg
end

在此处查阅文档

因此,在这种情况下,您可以执行以下操作

<% @results.each do |val| %>
   <%= "#{val['id']}, #{val['name']}, #{val['age']}" %>
<% end %>

编辑 :您似乎是指错误的文档,请检查Mysql2 gems文档。



 类似资料:
  • 问题内容: 有什么不同的方法可以循环遍历mysql结果集?我是PHP和MySQL的新手,所以我正在寻找简单的循环方法以及有关所提供代码如何工作的解释。 问题答案: 这是一个完整的示例: http://php.net/manual/en/mysqli-result.fetch- array.php 连接 选择数据库 进行查询 循环处理结果并获取数组以获取行

  • 问题内容: 如何在SQL中遍历SELECT语句的结果?我的SELECT语句将仅返回1列,但返回n个结果。 我在下面创建了一个虚构的场景,其中包含我想做的事情的伪代码。 设想: 学生正在注册他们的课程。他们提交具有多个课程选择的表格(即一次选择3个不同的课程)。当他们提交注册时,我需要确保他们选择的课程还有剩余的空间(请注意,在向他们展示课程选择UI之前,我将进行类似的检查,但是之后我需要进行验证,

  • 问题内容: 我有以下JSON响应,但是我不确定如何正确循环通过它并使用它。 下面的代码向我提醒DepartmentID为1,然后命名为’dept1’,然后为: 我要做的就是使用部门信息创建一个div,并在其中创建另一个div,其中包括该部门的类别信息。 问题答案:

  • 问题内容: 我具有以下JSON结构: 如何使用JavaScript进行迭代? 问题答案: 取自jQuery docs:

  • 问题内容: 我具有以下JSON结构: 如何使用JavaScript进行迭代? 问题答案: 取自jQuery docs:

  • 问题内容: 我想从包含一列的每个表中输出数据。我将以下过程放在一起,但是在我的循环中,mysql从字面上解释表名,而不是评估变量。解决办法是什么? 问题答案: 尝试这个: