diff options
| author | Nikita Popov <nikita.ppv@gmail.com> | 2019-06-05 14:38:01 +0200 |
|---|---|---|
| committer | Nikita Popov <nikita.ppv@gmail.com> | 2019-06-05 14:53:50 +0200 |
| commit | 7686b0b88906e2522300b9e631ddde2051de839f (patch) | |
| tree | 31a3cfd1feaf6f7190bad8222a6f9da567acd723 /ext/pdo_sqlite/tests | |
| parent | 03a9c2df7baea96a4777346c8799f0a6fdd7c882 (diff) | |
| parent | a31f46421d7bf6f55dd9ac5876b8e2eacf7e0708 (diff) | |
| download | php-git-7686b0b88906e2522300b9e631ddde2051de839f.tar.gz | |
Merge branch 'PHP-7.4'
Diffstat (limited to 'ext/pdo_sqlite/tests')
| -rw-r--r-- | ext/pdo_sqlite/tests/pdo_sqlite_tostring_exception.phpt | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/ext/pdo_sqlite/tests/pdo_sqlite_tostring_exception.phpt b/ext/pdo_sqlite/tests/pdo_sqlite_tostring_exception.phpt new file mode 100644 index 0000000000..b1cd78eee7 --- /dev/null +++ b/ext/pdo_sqlite/tests/pdo_sqlite_tostring_exception.phpt @@ -0,0 +1,45 @@ +--TEST-- +__toString() exception during PDO Sqlite parameter binding +--SKIPIF-- +<?php if (!extension_loaded('pdo_sqlite')) print 'skip not loaded'; ?> +--FILE-- +<?php + +class throws { + function __toString() { + throw new Exception("Sorry"); + } +} + +$db = new PDO('sqlite::memory:'); +$db->exec('CREATE TABLE t(id int, v varchar(255))'); + +$stmt = $db->prepare('INSERT INTO t VALUES(:i, :v)'); +$param1 = 1234; +$stmt->bindValue('i', $param1); +$param2 = "foo"; +$stmt->bindParam('v', $param2); + +$param2 = new throws; + +try { + $stmt->execute(); +} catch (Exception $e) { + echo "Exception thrown ...\n"; +} + +try { + $stmt->execute(); +} catch (Exception $e) { + echo "Exception thrown ...\n"; +} + +$query = $db->query("SELECT * FROM t"); +while ($row = $query->fetch(PDO::FETCH_ASSOC)) { + print_r($row); +} + +?> +--EXPECT-- +Exception thrown ... +Exception thrown ... |
