看板 java 關於我們 聯絡資訊
請益一下 最近從書上看到一個範例 但假設 接收的值(是空的=無輸入 或是從資料庫中找不到) 這點要怎樣表示 我在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
awert:java string comparision不能用== 01/31 21:44
tool11:我也有試過equals() 01/31 21:56
LaPass:他寫什麼錯誤? 01/31 22:05
qrtt1:看起來是個不錯的 sql injection 範本。 01/31 22:06
LaPass:樓上,示範一下,sql injection我只聽過而已,還沒看過實例 01/31 22:36
LaPass:說 XD 01/31 22:37
samtree:和善一點: msgName=' OR '1'='1 01/31 22:43
samtree:兇一點: msgName=';drop database;-- 01/31 22:50
tool11:推樓上 剛剛試過if (msgName=' OR '1'='1) 但網頁顯示錯誤 01/31 22:52
LaPass:喔喔~~ XD 01/31 22:53
LaPass:真有趣 :P 01/31 22:58
samtree:>_< 對不起 我是在回 SQL injection 的範例 害你誤會了 01/31 23:14
tool11:沒用在sql是怕判斷錯誤 會不小心刪掉資料! 01/31 23:34
PsMonkey:不是不能用 ==,而是 == 不是你想的那種意思 01/31 23:41
tool11:String value1="";String value2="null"; 02/01 13:33
tool11:if((msgName.equals(value1))||(msgName.equals(value2))) 02/01 13:34
tool11:改成這樣.還是沒執行成功.不過程式可以跑.不知道哪邊邏輯錯 02/01 13:37
LaPass:樓上誤很大 orz.... 02/01 14:06
tool11:麻煩指點~"~ 02/01 14:18
p52189:可以問一下 =' 是什麼意思@@ 謝謝 02/02 01:31