# Another prepare_cached() example

- ## Can also be used for dynamically constructed statements:

  - while ( ($field, $value) = each %search_fields ) {
    push @sql, "$field = ?";
    push @values, $value;
    }
    $where = "";
    $where = "where ".join(" and ", @sql) if @sql;
    $sth = $dbh->prepare_cached("select * from table $where");
    $sth->execute(@values);
  - but beware caching too many variations because, for many databases, each statement handle consumes some resources on the server (e.g. a cursor)

Previous slide | Next slide | Back to first slide | View graphic version