title: Escape input data in SQL queries when using ODBC + Access
body: <p>I've tried <code>odbc_prepare()</code> + <code>odbc_execute()</code> to update a record in an Access file but I always get an <code>SQL state 07001</code> error message about incorrect column count (actually, the message is in Spanglish and doesn't make much sense):</p>
  
  <pre><code>&lt;?php
  $items = array();
  $items[100] = 'Foo';
  $items[200] = 'Bar';
  $sql = 'UPDATE street
      SET name=?
      WHERE street_id=?';
  $stmt = odbc_prepare($conection, $sql);
  if( $stmt===FALSE ){
      die(odbc_errormsg());
  }
  foreach($items as $cod =&gt; $name){
      if( !odbc_execute($stmt, array($name, $cod)) ){
          die(odbc_errormsg());
      }
  }
  </code></pre>
  
  <p>User comments at <a href="http://php.net/odbc_execute" rel="nofollow">odbc_execute manual page</a> suggest that Microsoft Access ODBC drivers do not support parameterized queries. However, I haven't found an odbc_* function to escape data.</p>
  
  <p>So... How can I escape input data?</p>