java - 在 JAVA 中使用 session 用户的 MYSQL 查询

标签 java mysql sql eclipse jdbc

我正在尝试从 Eclipse 运行此查询:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        HttpSession session = request.getSession();
        String name = session.getAttribute("user").toString();
        String query = "SELECT DISTINCT t.text, t.user, t.date"
                + " FROM users u, tweets t, follows f" 
                + " Where t.parent is null"
                + " AND u.id ="+name
                + " AND ( f.follower = u.id"
                + " AND f.followed = t.user"
                + " OR t.user = u.id)"
                + " ORDER BY t.date DESC;";

但是我得到以下错误:

Sesion(user):Takeshi
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'Takeshi' in 'where clause'

我可以想象错误是因为我做错了 u.id 和 name 之间的比较,但我应该怎么做呢?有一些特殊的性格?提前致谢。

最佳答案

能否请您使用以下代码段:

String name = session.getAttribute("user").toString();
name = name.replace("\'", "''"); 

String query =   " SELECT DISTINCT t.text, t.user, t.date"
                + " FROM users u, tweets t, follows f" 
                + " Where t.parent is null"
                + " AND u.id = '"+name+"'"
                + " AND ( f.follower = u.id"
                + " AND f.followed = t.user"
                + " OR t.user = u.id)"
                + " ORDER BY t.date DESC";

关于java - 在 JAVA 中使用 session 用户的 MYSQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37861795/

相关文章:

java - 某些元素的监听器

java - 扩展 jtextfield 值以采用日期格式

php - 注册表单返回您已经是注册用户

大型审计表上的mysql索引日期与日期时间

c# - 如何删除整个数据库并使用 sql 和 c# 重新创建它?

java - 函数调用之外的弹出窗口

java - 获取特定节点内的所有元素

php - mySQl,查询 : How to customize selection from database?

mysql - 表中的指针大小是多少?

MYSQL多对多关系问题