1--TEST--
2SQLite3::prepare Bound Variable Blob test
3--EXTENSIONS--
4sqlite3
5--FILE--
6<?php
7
8require_once(__DIR__ . '/new_db.inc');
9require_once(__DIR__ . '/stream_test.inc');
10define('TIMENOW', time());
11
12echo "Creating Table\n";
13var_dump($db->exec('CREATE TABLE test (id STRING, data BLOB)'));
14
15echo "PREPARING insert\n";
16$insert_stmt = $db->prepare("INSERT INTO test (id, data) VALUES (?, ?)");
17
18echo "Opening blob stream\n";
19$foo = fopen('sqliteBlobTest://fooo', 'r');
20var_dump($foo);
21
22echo "BINDING Parameter\n";
23var_dump($insert_stmt->bindValue(1, 'a', SQLITE3_TEXT));
24var_dump($insert_stmt->bindParam(2, $foo, SQLITE3_BLOB));
25$insert_stmt->execute();
26echo "Closing statement\n";
27var_dump($insert_stmt->close());
28
29echo "SELECTING results\n";
30$results = $db->query("SELECT id, quote(data) AS data FROM test ORDER BY id ASC");
31while ($result = $results->fetchArray(SQLITE3_NUM))
32{
33    var_dump($result);
34}
35$results->finalize();
36
37echo "Closing database\n";
38var_dump($db->close());
39echo "Done\n";
40?>
41--EXPECTF--
42Creating Table
43bool(true)
44PREPARING insert
45Opening blob stream
46resource(%d) of type (stream)
47BINDING Parameter
48bool(true)
49bool(true)
50Closing statement
51bool(true)
52SELECTING results
53array(2) {
54  [0]=>
55  string(1) "a"
56  [1]=>
57  string(23) "X'61626364656667006869'"
58}
59Closing database
60bool(true)
61Done
62