[问题] 用ruby的cgi实作SQL的问题

楼主: davidwu0123 (华而绮丽)   2013-10-27 17:27:21
各位前辈好,
我想请问一个一直卡住的问题。
我用了cgi写了一个问卷调查的form,里面只有一个type为checkbox的问题。
然后想将使用者圈选起来的答案(复选)用insert存到database里面,
但不知道为何我搞不懂是我漏掉了什么东西导致始终不成功。
这个问卷原本是用txt档存放圈选结果,现在为了练习数据库所以改用sql。
每当某个选项被选中,送出时会写入该选项的一行,像是下面这种感觉:
苹果
香蕉
水梨
苹果
水梨
以下是进行insert部分的程式码。
希望有高手可以指点我一下到底是漏了什么东西或观念才无法成功。
劳烦了,谢谢。
#!/usr/bin/env ruby
#encoding:utf-8
require 'cgi'
cgi = CGI.new
require 'sqlite3'
print cgi.header("text/html; charset=utf-8")
if cgi.params["sauce"].empty?
#例外处理的部分,省略
else
sauces = cgi.params["sauce"] #sauces接收所有被选中的选项,为阵列
# error是出在这部分,但想不出原因
db = SQlite3::Database.new("report1025.db")
db.transaction(){
sauces.each{|i|
db.execute("INSERT INTO votes VALUES(?);",i)
}
}
db.close
# error end
print <<EOF
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<p>谢谢投票。</p>
<div><a href="view_result2.rb">看投票结果</a></div>
<div><a href="enquete_form2.rb">回投票页面</a></div>
</body>
</html>
EOF
end
楼主: davidwu0123 (华而绮丽)   0000-00-00 00:00:00
已解决 原来是SQL打成SQl... 建立了DEBUG的程式码后才发现
作者: hSATAC (cAt Ash)   0000-00-00 00:00:00
换一套 coding 字型吧 XD
楼主: davidwu0123 (华而绮丽)   0000-00-00 00:00:00
老实说一直用最烂的记事本去打... 我得去研究了(死
作者: guitarpl (撞墙期)   0000-00-00 00:00:00
用记事本..是神人吧
楼主: davidwu0123 (华而绮丽)   0000-00-00 00:00:00
单纯是因为我不是本科生 有些基础知识没有重视如果之前有人看过我的程式码 在这边说声抱歉
作者: akaing (平心静气谈问题最难)   2012-01-15 19:40:00
Try sublime text 2, or Ruby Mine.
楼主: davidwu0123 (华而绮丽)   2012-01-16 21:19:00
感谢推荐
作者: ryudo (那很好哇)   2013-02-09 23:23:00
简单WebApp用Sinatra就好了,何苦用cgi折磨自己?
楼主: davidwu0123 (华而绮丽)   0000-00-00 00:00:00
因为是作业..

Links booklink

Contact Us: admin [ a t ] ucptt.com