代码为
String sql = "select * from lottery , userandlottery , users where lottery.Lotteryid=userandlottery.Lotteryid and userandlottery.nickname = users.nickname and users.nickname = " ;
java.sql.Statement statement = conn.createStatement();
java.sql.ResultSet rsResultset = statement.executeQuery(sql + name ) ;
其中name表示要查询的关键字名字,如果这样写而且name设置为tom会报错如下所示:
数据库访问有问题 java.sql.SQLSyntaxErrorException: Unknown column 'tom' in 'where clause'
各位们!!感谢
你可以打印一下 sql + name 这个字符串看长什么样,
这是字符串拼接模式,tom作为一个字符串,在sql中要用单引号引起来,
所以你拼sql的时候,name前后都要拼一个单引号的字符串;
但是,一般建议用绑定变量的方式,因为这种拼字符串的方式容易被sql注入攻击