java - java中带有字符串的sql语法

标签 java mysql sql

我有这个查询(查询的参数由输入给出:表、名称和密码都是由文本字段给出的字符串。

//...
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/

相关文章:

mysql - Laravel eloquent - 多对多,单个数据透视表上的多个 "roles"

c# - 用于将 3 个主节点连接到 MySQL 的 ConnectionString

php - Mysql php - 网络应用程序规模? (大是什么意思?)

MySql - 选择 3 个表并排除

MySQL:按出现顺序创建序列

Java输入解析与分隔符| (管道)

java - 如何在android工具栏中创建带有搜索栏的嵌套 ListView ?

java - jmonkey sphere 运行时错误?

mysql - 返回最大日期小于 SQL 中一组日期中每个值的行

java - Netty 中的 Channel.messageReceived 事件