【问题标题】:What is wrong with my CGI script to print MySQL data?我的 CGI 脚本打印 MySQL 数据有什么问题?
【发布时间】:2013-09-06 09:45:59
【问题描述】:

我想使用 Ruby CGI 脚本在浏览器中显示我的 MySQL 数据库中的数据。

我遇到的问题是显示数据;它只显示 Title 列,并且只显示一个单元格,Price 和 ISBN 列不显示任何内容。

我使用“Title varchar, Price decimal(10,2), ISBN integer”来创建表格。

我尝试先显示价格和 ISBN,但这两列甚至不打印,但数据在数据库中。

#!/usr/bin/env ruby

require 'mysql2'
require 'cgi'

client = Mysql2::Client.new(
  :host => "localhost",
  :database => "tempdb",
  :username => "user",
  :password => "pass"
    )
results = client.query("SELECT * FROM mytable")

cgi = CGI.new

puts cgi.header

puts "<table border='1'>
  <tr>
    <th>Title</th>
    <th>Price</th>
    <th>ISBN</th>
  </tr>"

results.each do |row|

  puts "<tr>"
  puts "<td>" + row["Title"] + "</td>"
  puts "<td>" + row["Price"] + "</td>"
  puts "<td>" + row["ISBN"] + "</td>"
  puts "</tr>"

end

puts "</table>";

【问题讨论】:

  • 您为什么要尝试使用 CGI 来执行此操作?如今,我们所做的 99.9% 都在使用更复杂的技术,例如 Sinatra,这使得生成网页或网站变得微不足道。此外,使用 MySQL gem 访问您的数据比您需要做的要痛苦得多。查看Sequel gem,它与 Sinatra 配合得很好。在两者之间,您可以按顺序输出数据。
  • 我只是需要一些东西来显示我自己的数据,我不想使用任何花哨的东西。但是,我肯定会看看 Sinatra 和 Sequel。谢谢!

标签: html mysql ruby cgi


【解决方案1】:

用“#{row["Price"].to_f}" 修复它。 谢谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-18
    • 2016-11-25
    • 2012-01-15
    • 2017-12-11
    • 2018-02-19
    • 1970-01-01
    • 2017-04-24
    • 2021-09-21
    相关资源
    最近更新 更多