我正在编写一个 java 程序并且我有一个当前输出错误的 SQL 语句: 所以代码是:
String sql = "SELECT Name from Users WHERE Name LIKE "+t;
输出是:
SELECT Name from Users WHERE Name LIKE David
但我需要它用单引号引起来,我怎样才能将其添加为:
SELECT Name from Users WHERE Name LIKE 'David'
如何添加这些引号?
非常感谢您的帮助
最佳答案
这是一个很常见的错误。我猜您正在使用 Statement 类来创建查询并执行它。
我想建议您使用准备好的语句。它会解决您的问题并帮助您解决更多问题。
PreparedStatement ps = yourconn.prepareStatement("select name from users where name like ?");
ps.setString(1,yoursearchedusername);
ResultSet rs = ps.executeQuery();
这将添加您的报价。另外,它将防止将来的 sql 注入(inject)攻击。
您当前的查询也会导致您的实际查询出现 ' 或 ?或任何其他 sql 通配符。准备好的语句避免了所有这些问题,并通过将 sql 编译并存储在 db 层(如果启用)来帮助提高性能
关于java - SQL语句不加单引号( ' '),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49069652/