php-src/ext/sqlite3/tests/sqlite3_blob_bind_resource.phpt
Nikita Popov 902d64390e Deprecate implicit dynamic properties
Writing to a proprety that hasn't been declared is deprecated,
unless the class uses the #[AllowDynamicProperties] attribute or
defines __get()/__set().

RFC: https://wiki.php.net/rfc/deprecate_dynamic_properties
2021-11-26 14:10:11 +01:00

40 lines
907 B
PHP

--TEST--
SQLite3::execute() with a resource bound for blob param
--EXTENSIONS--
sqlite3
--FILE--
<?php
require_once(__DIR__ . '/new_db.inc');
require_once(__DIR__ . '/stream_test.inc');
var_dump($db->exec('CREATE TABLE test (id STRING, data BLOB)'));
$insert_stmt = $db->prepare("INSERT INTO test (id, data) VALUES (1, ?)");
class HelloWrapper {
public $context;
public function stream_open() { return true; }
public function stream_eof() { return true; }
public function stream_read() { return NULL; }
public function stream_stat() { return array(); }
}
stream_wrapper_register("hello", "HelloWrapper");
$f = fopen("hello://there", "r");
var_dump($insert_stmt->bindParam(1, $f, SQLITE3_BLOB));
var_dump($insert_stmt->execute());
var_dump($insert_stmt->close());
fclose($f);
?>
+++DONE+++
--EXPECTF--
bool(true)
bool(true)
object(SQLite3Result)#%d (%d) {
}
bool(true)
+++DONE+++