作者tool11 (:))
看板java
標題[問題] 輸入的關鍵字找不到 如何表示
時間Tue Jan 31 21:33:08 2012
請益一下
最近從書上看到一個範例
但假設 接收的值(是空的=無輸入 或是從資料庫中找不到)
這點要怎樣表示
我在if前
加了if (msgName == null || msgName == "")
成立就接著做
else
不成立就印出 查無此資料
但 網頁顯示 結果錯誤 不知道 是哪邊觀念需要再修正 謝謝^^
<%
String JDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String connectDB="jdbc:odbc:Message";
Class.forName(JDriver);
Connection con = DriverManager.getConnection(connectDB);
Statement stmt = con.createStatement();
request.setCharacterEncoding("big5");
String msgName = request.getParameter("msgName");
String sql="SELECT * FROM Informations WHERE 名稱= '" +
msgName + "';" ;
if (stmt.execute(sql)) {
ResultSet rs = stmt.getResultSet();
while (rs.next()) {
%>
時間:<%= rs.getString("時間")%><BR>
名稱:<%= rs.getString("名稱")%><BR>
留言:<BR>
<%= rs.getString("留言")%><BR><HR>
<%
}
}
stmt.close();
con.close();
%>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.131.159.227
1F:→ awert:java string comparision不能用== 01/31 21:44
2F:→ tool11:我也有試過equals() 01/31 21:56
3F:→ LaPass:他寫什麼錯誤? 01/31 22:05
4F:→ qrtt1:看起來是個不錯的 sql injection 範本。 01/31 22:06
5F:推 LaPass:樓上,示範一下,sql injection我只聽過而已,還沒看過實例 01/31 22:36
6F:→ LaPass:說 XD 01/31 22:37
7F:推 samtree:和善一點: msgName=' OR '1'='1 01/31 22:43
8F:推 samtree:兇一點: msgName=';drop database;-- 01/31 22:50
9F:→ tool11:推樓上 剛剛試過if (msgName=' OR '1'='1) 但網頁顯示錯誤 01/31 22:52
10F:推 LaPass:喔喔~~ XD 01/31 22:53
11F:→ LaPass:真有趣 :P 01/31 22:58
12F:推 samtree:>_< 對不起 我是在回 SQL injection 的範例 害你誤會了 01/31 23:14
13F:→ tool11:沒用在sql是怕判斷錯誤 會不小心刪掉資料! 01/31 23:34
14F:推 PsMonkey:不是不能用 ==,而是 == 不是你想的那種意思 01/31 23:41
15F:→ tool11:String value1="";String value2="null"; 02/01 13:33
16F:→ tool11:if((msgName.equals(value1))||(msgName.equals(value2))) 02/01 13:34
17F:→ tool11:改成這樣.還是沒執行成功.不過程式可以跑.不知道哪邊邏輯錯 02/01 13:37
18F:推 LaPass:樓上誤很大 orz.... 02/01 14:06
19F:→ tool11:麻煩指點~"~ 02/01 14:18
20F:推 p52189:可以問一下 =' 是什麼意思@@ 謝謝 02/02 01:31