看板 java 關於我們 聯絡資訊
說實在的,我很難以(一般人認為)不酸的語氣回這篇 ※ 引述《leo1234 (Leo)》之銘言: : try{ : //定義驅動程式與資料來源之間的連結 : Class.forName("com.mysql.jdbc.Driver").newInstance(); : //建立一個聯結物件 : conn = DriverManager.getConnection(url,user,pass); : //建立Statement物件 : stmt = conn.createStatement(); : }catch(SQLException sqle){ : out.println("SQL Exception : " + sqle); : } : } 有縮排的程式會出現兩個右括號在同一行... 很好很好 : //建立查詢並產生rs的資料表 : //String sql = "select * from access_log"; //<=原本這樣可以跑 : String sql = "select * from vulnerable_list"; : //我只改了這行 去查詢vulnerable_list資料表,下面line 333就出現問題 重點不是你用了哪個 table : ======這邊省略了藉由演算法產生了一個字串 存在 newrule 裡===== : System.out.println("rule\t"+newrule); : String newruletest = "INSERT INTO rule(newrule) VALUES('"+newrule+"')"; : //我要將它(newrule)存到rule資料表裡的newrule欄位 你沒有說 newrule 到底跟 vulnerable_list 有什麼關係 也許就是你從那個 table 取出 name 跟 num 的值去作運算 但是你沒有明講,我們不會知道、也不會亂猜 不然我就要順便懷疑你是吃了太多毒澱粉才會寫出這樣的程式 你都知道錯誤是在執行 newreultest 這個 sql 指令了 那為甚麼沒有順便貼出來這個 SQL 指令的實際內容? 那為甚麼沒有先把這段 SQL 指令丟去 DBMS 跑跑看看有沒有出問題? 說不定你自己的那個什麼 newrule 演算法 在某些值之下自動滿足 sql injection 的條件 但是你沒有提供資訊,我們不會知道,更不可能提供任何協助 或著我換個方式講 如果按照你說的,用 access_log 的值可以跑 那就表示你的程式碼沒有問題,結案,以上! : ======> Line333---- stmt.executeUpdate(newruletest);<======== 最後,請不要把程式碼用這種方式標記來 你的文章排版已經夠亂夠難看了 還把程式碼弄的跟文章內文沒什麼兩樣 這實在讓人很不想仔細看(我是版主,我只好仔細看 [淚目]) : //剛剛說的改成讀取別的資料表這行就出現ERROR : //這行註解掉後上面就印的出來(out.print("字串" + name + "參數" + num + "<br>");) : //可是就無法執行我後面要做的:新增rule資料表了(INSERT INTO rule(newrule)) : Statement stmt2 = conn.createStatement(); : //rs = stmt2.executeQuery(sql); : //stmt2.executeUpdate(newruletest); : fout.close(); : out.println("新規則:"+newrule); : %> : </body> : </html> -- 錢鍾書: 說出來的話 http://www.psmonkey.org 比不上不說出來的話 Java 版 cookcomic 版 只影射著說不出來的話 and more...... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.25.146
leo1234:= =抱歉 我已經盡量想辦法表達和排版了~可能還是不夠好 @@ 06/06 11:48
leo1234:我單純想問讀取和寫入資料表的問題 雖然沒幫到~還是謝 06/06 11:52
cuteclare:...原po還是沒搞懂orz 06/06 12:50
leo1234:???我知道是我自己講不夠詳細阿~我有想到其他方法解決了@@ 06/06 13:21
PsMonkey:唉... 我的確不是高手... [走向窗邊遠目] 06/06 13:31
rukawa0328:既然知道333行有問題,那請先try catch(e) 333行 06/06 14:23
rukawa0328:然後記得 e.printStackTrace(); 不然......... 06/06 14:25
rukawa0328:你只貼了HTTP 500的訊息,你要的是通靈師,不是高手... 06/06 14:28