12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- --TEST--
- PDO SQLite Bug #78192 SegFault when reuse statement after schema change
- --SKIPIF--
- <?php
- if (!extension_loaded('pdo_sqlite')) print 'skip not loaded';
- ?>
- --FILE--
- <?php
- $connection = new \PDO('sqlite::memory:');
- $connection->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
- $connection->query('CREATE TABLE user (id INTEGER PRIMARY KEY NOT NULL, name VARCHAR(255) NOT NULL)');
- $stmt = $connection->prepare('INSERT INTO user (id, name) VALUES(:id, :name)');
- $stmt->execute([
- 'id' => 10,
- 'name' => 'test',
- ]);
- $stmt = $connection->prepare('SELECT * FROM user WHERE id = :id');
- $stmt->execute(['id' => 10]);
- var_dump($stmt->fetchAll(\PDO::FETCH_ASSOC));
- $connection->query('ALTER TABLE user ADD new_col VARCHAR(255)');
- $stmt->execute(['id' => 10]);
- var_dump($stmt->fetchAll(\PDO::FETCH_ASSOC));
- --EXPECT--
- array(1) {
- [0]=>
- array(2) {
- ["id"]=>
- string(2) "10"
- ["name"]=>
- string(4) "test"
- }
- }
- array(1) {
- [0]=>
- array(3) {
- ["id"]=>
- string(2) "10"
- ["name"]=>
- string(4) "test"
- ["new_col"]=>
- NULL
- }
- }
|