Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.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
java参数索引超出范围(1>;参数个数,mysql为0-简单登录_Java_Mysql_Jcreator - Fatal编程技术网

java参数索引超出范围(1>;参数个数,mysql为0-简单登录

java参数索引超出范围(1>;参数个数,mysql为0-简单登录,java,mysql,jcreator,Java,Mysql,Jcreator,我试图用Java(在j creator中)检查用户名和密码,但语法不正确。 如何通过传递用户名和密码在数据库中实现简单的检查?以下是解决问题的代码: try { String userN, passW, host, database; userN = "Michael"; passW = "Blaine22"; host = "localhost"; database = "maintenance_work"; Connection conn = Drive

我试图用Java(在j creator中)检查用户名和密码,但语法不正确。 如何通过传递用户名和密码在数据库中实现简单的检查?以下是解决问题的代码:

      try
    {
String userN, passW, host, database;
userN = "Michael";
passW = "Blaine22";
host = "localhost";
database = "maintenance_work";

        Connection conn = DriverManager.getConnection
    ("jdbc:mysql://"+host+":3306/"+database, userN, passW);

    conn.setAutoCommit(false);
    ResultSet rs = null;
    PreparedStatement pst = null;

    Boolean user_Check_pass;

    String sql =("SELECT * from operators where user_name = " + user + " and pass_word= " + pass);

        pst = conn.prepareStatement(sql);

        pst.setString(1, user);
        pst.setString(2, pass);
        rs = pst.executeQuery();

        if (rs.next())
        {
             System.out.println ("Username and Password correct");
             user_Check_pass = true;
        }
        else
        {
              System.out.println ("invalid username and password");
               user_Check_pass = false;
        }
    }
   catch (SQLException e)
   {
    e.printStackTrace();
}
    return false;

您需要按如下方式更改查询-

String sql = "SELECT * from operators where user_name = ? and pass_word = ?";

s是setXXX(index,value)方法所取代的。

我只需要将SQL查询字符串更改为以下,以便传递参数!Doh

String sql = "SELECT * from operators where user_name = ? and pass_word = ?";

请阅读JDBC教程或javadoc解释
PreparedStatement
。。。