簡體   English   中英

在MySQL查詢Java中使用撇號

[英]Using apostrophes in a MySQL query Java

所以我遇到了MySQL問題。 我有一項允許管理員禁止用戶並提供禁止原因的服務。 這項服務完全用Java編寫...雖然我可以使用PhP服務器並使用MySQL功能來解決此問題...我覺得我想將所有MySQL功能都保留在一個環境中。

問題在於提供原因的能力,通常管理員會根據“您被禁止:給鮑勃的城堡發牢騷”之類的東西給出原因(或類似的東西)。 如前所述,“”會引起問題,因為這些問題用於表示MySQL中的字符串。

Java環境中是否有解決方案?

最簡單的解決方案可能是Commons Lang StringEscapeUtils.escapeSql(String) 另一個解決方案是使用PreparedStatement並綁定參數(有些人更喜歡第二個選項,因為它通常可以更好地擴展並且具有更快的性能)。

// From the JavaDoc on PreparedStatement
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES "
                                 + "SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, 153833.00)
pstmt.setInt(2, 110592)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM