SQLite also has the ability to import data into existing class definitions.

<pre>
<?php
$db 
= new sqlite_db(dirname(__FILE__)."/db.sqlite");
// CREATE TABLE auth_tbl 
//    (login VARCHAR(32), passwd CHAR(32))
$res $db->query("SELECT * FROM auth_tbl");

/* import result into my_class setting the row number 
 * and indicating that the data is from a database */
while (($obj $res->fetch_object("my_class", array(TRUE)))) {
    
var_dump($obj);
}

class 
my_class
{
    public 
$from_db$row_num=0;
    private 
$passwd$crypt_key "value";

    
/* constructor sets the row number 
     * and sets a flag indicating
     * that the data originated from the database */
    
function __construct($fdb=FALSE)
    {
        static 
$counter;
        
$this->row_num = (int) $counter++;
        
$this->from_db $fdb;
    }

    private function 
decode_passwd() { }

    private function 
encode_passwd() { }

    function 
change_password()
    {
        if (
decode_passwd($this->passwd) == $_POST['passwd']) {
            
$new_pass encode_passwd($_POST['passwd']);
            
/* update password query */
        
}
    }
}
?>
</pre>
Output