<?php
dl
('pdo.so');
dl('pdo_sqlite.so');

//$x = new PDO("oci:dbname=hostname", 'php', 'php');
$x = new PDO("sqlite::memory:");

$x->query("create table test(name string, value string)");
debug_zval_dump($x);

$stmt $x->prepare("INSERT INTO test (NAME, VALUE) VALUES (:name, :value)");

$stmt->bindParam(":name"$the_namePDO_PARAM_STR32);
$stmt->bindParam(":value"$the_valuePDO_PARAM_STR32);

for (
$i 0$i 4$i++) {
    
$the_name "foo" rand();
    
$the_value "bar" rand();

    if (!
$stmt->execute()) {
        break;
    }
}

$stmt null;

echo 
"DEFAULT:\n";
foreach (
$x->query("select NAME, VALUE from test") as $row) {
    
print_r($row);
}

echo 
"OBJ:\n";

class 
Foo {
    public 
$NAME "Don't change me";
}

$foo = new foo;

foreach (
$x->query("select NAME, VALUE from test"PDO_FETCH_COLUMN1) as $row) {
    
debug_zval_dump($row);
}

echo 
"Done\n";
exit;

$stmt $x->prepare("select NAME, VALUE from test where value like ?");
$the_name 'bar%';
$stmt->execute(array($the_name)) or die("failed to execute!");
$stmt->bindColumn('VALUE'$value);

while (
$row $stmt->fetch()) {
    echo 
"name=$row[NAME] value=$row[VALUE]\n";
    echo 
"value is $value\n";
    echo 
"\n";
}

echo 
"Let's try an update\n";

echo 
"All done\n";

?>