我有这个查询(查询的参数由输入给出:表、名称和密码都是由文本字段给出的字符串。
//...
ResultSet rs = st.executeQuery("select * " +
"from `"+ table + "` " +
"where Name='" + name + "' " +
" and Password='" + password + "'");
之后我不明白为什么我不能输入这个 if:
else if (table=="products"){
// ...
}
因此我不能同意该计划
最佳答案
==运算符比较两个对象的哈希值。只有当它们具有相同的哈希值时才会返回 true。始终使用 str1.equals(str2) 方法来比较字符串。
同时使用准备好的语句将有助于防止 SQL injection ,一种危险的黑客行为。请参阅here举个例子说明为什么这很危险。
关于java - java中带有字符串的sql语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21208292/