1--TEST-- 2PDO SQLite Bug #78192 SegFault when reuse statement after schema change 3--SKIPIF-- 4<?php 5if (!extension_loaded('pdo_sqlite')) print 'skip not loaded'; 6?> 7--FILE-- 8<?php 9$connection = new \PDO('sqlite::memory:'); 10$connection->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); 11$connection->query('CREATE TABLE user (id INTEGER PRIMARY KEY NOT NULL, name VARCHAR(255) NOT NULL)'); 12 13$stmt = $connection->prepare('INSERT INTO user (id, name) VALUES(:id, :name)'); 14$stmt->execute([ 15 'id' => 10, 16 'name' => 'test', 17]); 18 19$stmt = $connection->prepare('SELECT * FROM user WHERE id = :id'); 20$stmt->execute(['id' => 10]); 21var_dump($stmt->fetchAll(\PDO::FETCH_ASSOC)); 22 23$connection->query('ALTER TABLE user ADD new_col VARCHAR(255)'); 24$stmt->execute(['id' => 10]); 25var_dump($stmt->fetchAll(\PDO::FETCH_ASSOC)); 26--EXPECT-- 27array(1) { 28 [0]=> 29 array(2) { 30 ["id"]=> 31 string(2) "10" 32 ["name"]=> 33 string(4) "test" 34 } 35} 36array(1) { 37 [0]=> 38 array(3) { 39 ["id"]=> 40 string(2) "10" 41 ["name"]=> 42 string(4) "test" 43 ["new_col"]=> 44 NULL 45 } 46} 47