[問題] 用ruby的cgi實作SQL的問題

看板Ruby作者 (戰乙女)時間11年前 (2013/10/27 17:27), 編輯推噓3(308)
留言11則, 5人參與, 最新討論串1/1
各位前輩好, 我想請問一個一直卡住的問題。 我用了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 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 133.51.83.22 ※ 編輯: davidwu0123 來自: 133.51.83.22 (10/27 17:28) ※ 編輯: davidwu0123 來自: 133.51.83.22 (10/27 17:29) ※ 編輯: davidwu0123 來自: 133.51.83.22 (10/27 17:29)

10/28 19:25, , 1F
已解決 原來是SQL打成SQl... 建立了DEBUG的程式碼後才
10/28 19:25, 1F

10/28 19:26, , 2F
發現
10/28 19:26, 2F

10/29 21:32, , 3F
換一套 coding 字型吧 XD
10/29 21:32, 3F

10/29 22:34, , 4F
老實說一直用最爛的記事本去打... 我得去研究了(死
10/29 22:34, 4F

10/30 02:00, , 5F
用記事本..是神人吧
10/30 02:00, 5F

10/30 09:34, , 6F
單純是因為我不是本科生 有些基礎知識沒有重視
10/30 09:34, 6F

10/30 09:34, , 7F
如果之前有人看過我的程式碼 在這邊說聲抱歉
10/30 09:34, 7F

11/15 19:40, , 8F
Try sublime text 2, or Ruby Mine.
11/15 19:40, 8F

11/16 21:19, , 9F
感謝推薦
11/16 21:19, 9F

12/09 23:23, , 10F
簡單WebApp用Sinatra就好了,何苦用cgi折磨自己?
12/09 23:23, 10F

12/29 22:11, , 11F
因為是作業..
12/29 22:11, 11F
文章代碼(AID): #1IRDnxQf (Ruby)
文章代碼(AID): #1IRDnxQf (Ruby)