gpt4 book ai didi

java - 如何使用程序值在 SQL SERVER 中搜索

转载 作者:行者123 更新时间:2023-12-01 12:56:18 24 4
gpt4 key购买 nike

我尝试在 SQL 查询中使用从用户处获取的一些值,并尝试根据该输入进行搜索。我做了一些研究并在网上找到了这个。

st.executeQuery("SELECT * FROM Users WHERE UserName LIKE 'userName%'");

然后我尝试将其更改为

st.executeQuery("SELECT * FROM Users WHERE UserName='userName%'");

但这没有用。我也尝试过使用 '@userName' 但这也不起作用。所以现在我在这里,因为显然我犯了一些明显的错误,或者上述方法都不正确。现在,如果我对值进行硬编码

st.executeQuery("SELECT * FROM Users WHERE UserName='Anwer'");

效果很好。所以我认为我在如何使用程序的值上犯了错误。我正在使用 SQL Management Studio 2012 编程语言 Java。

最佳答案

您应该使用绑定(bind)值而不是内联字符串。这很容易受到 SQL 注入(inject)攻击(黑客巧妙地构造一个输入值,让他们运行任意 SQL)。

类似于:

PreparedStatement ps = conn.prepareStatement("SELECT * FROM Users WHERE UserName=?");
ps.setString(1, "Anwer");
ResultSet resultSet = ps.executeQuery();

关于java - 如何使用程序值在 SQL SERVER 中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23860779/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com