title: execute SQL statement using executeQuery in servlet
body: <p>I have servlet  - </p>
  
  <pre><code>@WebServlet("/servlet123")
  public class servlet123 extends HttpServlet {
  
  
      protected void doPost(HttpServletRequest request,
              HttpServletResponse response) throws ServletException, IOException {
                  String usrID = "111" ; 
              String strAllAccocuntsSQL = "SELECT * (FROM account, account_person) "
                      + "WHERE (account.accountNum = account_person.accountNum"
                      + "AND account_person.personID=? )ORDER BY account.accountNum;";
              PreparedStatement prepareSQL = connection
                      .prepareStatement(strAllAccocuntsSQL);
                          prepareSQL.setString(1, usrID);   
              ResultSet resultWithAccounts = prepareSQL.executeQuery();
      }
  
  }
  </code></pre>
  
  <p>I check all about <code>connection</code> and it was OK . </p>
  
  <p>When it reach to the line <code>ResultSet resultWithAccounts = prepareSQL.executeQuery();</code> it throws exception -</p>
  
  <pre><code> com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'account_person.personID='111' )ORDER BY account.accountNum' at line 1
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
      at java.lang.reflect.Constructor.newInstance(Unknown Source)
      at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
      at com.mysql.jdbc.Util.getInstance(Util.java:386)
      at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053)
      at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)
      at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)
      at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468)
      at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629)
      at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2719)
      at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
      at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2318)
  </code></pre>
  
  <p>The SQL code of the 2 above tables is - </p>
  
  <pre><code>CREATE TABLE  `account_person` (
   `accountNum` INT( 11 ) NOT NULL ,
   `personID` TEXT NOT NULL
  )
  </code></pre>
  
  <p>AND</p>
  
  <pre><code>CREATE TABLE  `account` (
   `accountNum` INT( 11 ) NOT NULL ,
   `dateCreated` DATE NOT NULL ,
   `accountName` TEXT,
   `description` TEXT,
   `statusAccount` TEXT,
   `sumOfMoney` INT( 11 ) NOT NULL DEFAULT  '0'
  )
  </code></pre>
  
  <p>What wrong in the SQL statement in <code>prepareSQL</code> ?   </p>