Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 每当我提交表单时都会出现sql错误_Mysql_Sql_Servlets - Fatal编程技术网

Mysql 每当我提交表单时都会出现sql错误

Mysql 每当我提交表单时都会出现sql错误,mysql,sql,servlets,Mysql,Sql,Servlets,我试图从mySQL数据库中获取数据并将其存储到我的arrayList中。然而,每当我运行这组代码时,就会出现这个错误 您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以获取在第1行的“displayname”附近使用的正确语法,如“%A%” 但是,我没有使用任何关键字,我为通配符操作员提供了单引号。我在sql语句中哪里做错了或漏掉了 String sql = "SELECT * FROM azq.registration WHERE userId NOT IN (SELECT fr

我试图从mySQL数据库中获取数据并将其存储到我的arrayList中。然而,每当我运行这组代码时,就会出现这个错误

您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以获取在第1行的“displayname”附近使用的正确语法,如“%A%”

但是,我没有使用任何关键字,我为通配符操作员提供了单引号。我在sql语句中哪里做错了或漏掉了

String sql = "SELECT * FROM azq.registration WHERE userId NOT IN (SELECT friendId FROM azq.friendlist WHERE userId ="
                        + session.getAttribute("userId")
                        + ") AND userId !="
                        + session.getAttribute("userId")
                        + "AND displayname LIKE '%" + searchText + "%'";
                // create the java statement
                Statement st = conn.createStatement();

                // execute the query, and get a java resultset
                ResultSet rs = st.executeQuery(sql);

                // iterate through the java resultset
                while (rs.next()) {
                    Friends newList = new Friends();
                    newList.setFirstName(rs.getString("firstName"));
                    newList.setLastName(rs.getString("lastName"));
                    newList.setUserId(rs.getString("userId"));
                    newList.setDisplayname(rs.getString("displayname"));

                    resultList.add(newList);
                }
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            }

您必须在
之前添加一个空格:

                + session.getAttribute("userId")
                    + " AND displayname LIKE '%" + searchText + "%'";

您必须在
之前添加一个空格:

                + session.getAttribute("userId")
                    + " AND displayname LIKE '%" + searchText + "%'";
您忘记了一个空格:

                    + ") AND userId !="
                    + session.getAttribute("userId")
                    + "AND displayname LIKE '%" + searchText + "%'";
                       ^---here
所以你在生成

... userID != fooAND displayname
如果您查看生成的
sql
,就会看到这一点。

您忘记了一个空格:

                    + ") AND userId !="
                    + session.getAttribute("userId")
                    + "AND displayname LIKE '%" + searchText + "%'";
                       ^---here
所以你在生成

... userID != fooAND displayname

如果您查看生成的
sql
,就会看到这一点。

在第2个空格之前添加空格,并将其转换为参数化查询。在第2个空格之前添加空格,并将其转换为参数化查询。