作者PsMonkey (痞子军团团长)
看板java
标题Re: [问题] JSP读取资料表 stmt.executeUpdate出问题
时间Thu Jun 6 10:53:35 2013
说实在的,我很难以(一般人认为)不酸的语气回这篇
※ 引述《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
1F:推 leo1234:= =抱歉 我已经尽量想办法表达和排版了~可能还是不够好 @@ 06/06 11:48
2F:→ leo1234:我单纯想问读取和写入资料表的问题 虽然没帮到~还是谢 06/06 11:52
3F:推 cuteclare:...原po还是没搞懂orz 06/06 12:50
4F:→ leo1234:???我知道是我自己讲不够详细阿~我有想到其他方法解决了@@ 06/06 13:21
5F:→ PsMonkey:唉... 我的确不是高手... [走向窗边远目] 06/06 13:31
6F:→ rukawa0328:既然知道333行有问题,那请先try catch(e) 333行 06/06 14:23
7F:→ rukawa0328:然後记得 e.printStackTrace(); 不然......... 06/06 14:25
8F:→ rukawa0328:你只贴了HTTP 500的讯息,你要的是通灵师,不是高手... 06/06 14:28