title: SQL Alchemy Parametrized Query , binding table name as parameter gives error
body: <p>I am using parametrized query utilizing Text object in SQL alchemy and are getting different result.</p>
  
  <p>Working example:     </p>
  
  <pre><code>import sqlalchemy as sqlal
  from sqlalchemy.sql import text
  
      db_table = 'Cars'
      id_cars = 8
      query = text("""SELECT * 
                      FROM Cars 
                      WHERE idCars = :p2
                   """)
      self.engine.execute(query, {'p2': id_cars})
  </code></pre>
  
  <p>Example that produces <em>sqlalchemy.exc.ProgrammingError</em>: (<em>pymysql.err.ProgrammingError</em>) (1064, "You have an error in your SQL syntax)</p>
  
  <pre><code>import sqlalchemy as sqlal
  from sqlalchemy.sql import text
  
      db_table = 'Cars'
      id_cars = 8
      query = text("""SELECT * 
                      FROM :p1 
                      WHERE idCars = :p2
                   """)
      self.engine.execute(query, {'p1': db_table, 'p2': id_cars})
  </code></pre>
  
  <p>Any idea on how I can run the query with a dynamic table name that are also protected from sql injection?</p>