title: sqlite3_step() returns SQLITE_MISUSE in tutorial situation
body: <p>I am using SQLite3 for the first time, and I can't figure out the following error. Here are the relevant lines:</p>
  
  <pre><code>//open db; I checked, and sqlite3_open() returns 0 here (SQLITE_OK)
  rc = sqlite3_open(filename.c_str(),&amp;db);
  
  //...
  
  //create &amp; prepare query.
  string query = "SELECT * FROM MOCK_DATA;"; //I am positive MOCK_DATA exists and is non empty
  sqlite3_stmt* stmt;
  cout&lt;&lt;sqlite3_prepare(db,query.c_str(),0,&amp;stmt,NULL)&lt;&lt;endl; //this prints 0: SQLITE_OK
  
  //here we get the error 
  cout&lt;&lt;sqlite3_step(stmt)&lt;&lt;endl; //returns 21: SQLITE_MISUSE
  </code></pre>
  
  <p>Could anyone tell me what I am doing wrong? :) Thank you!</p>