[問題] 輸入的關鍵字找不到 如何表示

看板java作者 (:))時間14年前 (2012/01/31 21:33), 編輯推噓8(8012)
留言20則, 7人參與, 最新討論串1/2 (看更多)
請益一下 最近從書上看到一個範例 但假設 接收的值(是空的=無輸入 或是從資料庫中找不到) 這點要怎樣表示 我在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

01/31 21:44, , 1F
java string comparision不能用==
01/31 21:44, 1F

01/31 21:56, , 2F
我也有試過equals()
01/31 21:56, 2F

01/31 22:05, , 3F
他寫什麼錯誤?
01/31 22:05, 3F

01/31 22:06, , 4F
看起來是個不錯的 sql injection 範本。
01/31 22:06, 4F

01/31 22:36, , 5F
樓上,示範一下,sql injection我只聽過而已,還沒看過實例
01/31 22:36, 5F

01/31 22:37, , 6F
說 XD
01/31 22:37, 6F

01/31 22:43, , 7F
和善一點: msgName=' OR '1'='1
01/31 22:43, 7F

01/31 22:50, , 8F
兇一點: msgName=';drop database;--
01/31 22:50, 8F

01/31 22:52, , 9F
推樓上 剛剛試過if (msgName=' OR '1'='1) 但網頁顯示錯誤
01/31 22:52, 9F

01/31 22:53, , 10F
喔喔~~ XD
01/31 22:53, 10F

01/31 22:58, , 11F
真有趣 :P
01/31 22:58, 11F

01/31 23:14, , 12F
>_< 對不起 我是在回 SQL injection 的範例 害你誤會了
01/31 23:14, 12F

01/31 23:34, , 13F
沒用在sql是怕判斷錯誤 會不小心刪掉資料!
01/31 23:34, 13F

01/31 23:41, , 14F
不是不能用 ==,而是 == 不是你想的那種意思
01/31 23:41, 14F

02/01 13:33, , 15F
String value1="";String value2="null";
02/01 13:33, 15F

02/01 13:34, , 16F
if((msgName.equals(value1))||(msgName.equals(value2)))
02/01 13:34, 16F

02/01 13:37, , 17F
改成這樣.還是沒執行成功.不過程式可以跑.不知道哪邊邏輯錯
02/01 13:37, 17F

02/01 14:06, , 18F
樓上誤很大 orz....
02/01 14:06, 18F

02/01 14:18, , 19F
麻煩指點~"~
02/01 14:18, 19F

02/02 01:31, , 20F
可以問一下 =' 是什麼意思@@ 謝謝
02/02 01:31, 20F
文章代碼(AID): #1F9-sMfv (java)
文章代碼(AID): #1F9-sMfv (java)