3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(E_ALL); $db = new PDO("sqlite::memory:"); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $queries = array( "CREATE TABLE users ( userid INT PRIMARY KEY, name TEXT, country TEXT, referred_by_userid INT )", "INSERT INTO users (userid, name, country, referred_by_userid) VALUES (104, 'Chris', 'Ukraine', NULL)", "INSERT INTO users (userid, name, country, referred_by_userid) VALUES (105, 'Jamie', 'England', NULL)", "INSERT INTO users (userid, name, country, referred_by_userid) VALUES (107, 'Robin', 'Germany', 104)", "INSERT INTO users (userid, name, country, referred_by_userid) VALUES (108, 'Sean', 'Ukraine', NULL)", "INSERT INTO users (userid, name, country, referred_by_userid) VALUES (109, 'Toni', 'Germany', NULL)", "INSERT INTO users (userid, name, country, referred_by_userid) VALUES (110, 'Toni', 'Germany', NULL)", "INSERT INTO users (userid, name, country, referred_by_userid) VALUES (111, 'Sean', 'France', NULL)", ); foreach ($queries as $query) { $db->exec($query); } $query = "SELECT userid, name, country, referred_by_userid FROM users"; $fetchMode = PDO::FETCH_COLUMN | PDO::FETCH_GROUP; print "\nfetchAll (no column specified):\n"; $stmt = $db->query($query); $result = $stmt->fetchAll($fetchMode); print_r($result); print "\nfetchAll (col 2):\n"; $stmt = $db->query($query); $result = $stmt->fetchAll($fetchMode, 2); print_r($result); $query = "SELECT country, name, userid FROM users"; print "\nfetchAll (by country, no column specified):\n"; # Values are column 1, group is column 0 $stmt = $db->query($query); $result = $stmt->fetchAll($fetchMode); print_r($result); print "\nfetchAll (by country, col 0):\n"; # Values are column 0, group is column 0 $stmt = $db->query($query); $result = $stmt->fetchAll($fetchMode, 0); print_r($result); print "\nfetchAll (by country, col 1):\n"; # Values are column 0, group is column 0 $stmt = $db->query($query); $result = $stmt->fetchAll($fetchMode, 1); print_r($result); print "\nfetchAll (by country, col 2):\n"; # Values are column 0, group is column 1 $stmt = $db->query($query); $result = $stmt->fetchAll($fetchMode, 2); print_r($result);
Output for 5.2.6 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.13
fetchAll (no column specified): Array ( [104] => Array ( [0] => Chris ) [105] => Array ( [0] => Jamie ) [107] => Array ( [0] => Robin ) [108] => Array ( [0] => Sean ) [109] => Array ( [0] => Toni ) [110] => Array ( [0] => Toni ) [111] => Array ( [0] => Sean ) ) fetchAll (col 2): Array ( [Ukraine] => Array ( [0] => 104 [1] => 108 ) [England] => Array ( [0] => 105 ) [Germany] => Array ( [0] => 107 [1] => 109 [2] => 110 ) [France] => Array ( [0] => 111 ) ) fetchAll (by country, no column specified): Array ( [Ukraine] => Array ( [0] => Chris [1] => Sean ) [England] => Array ( [0] => Jamie ) [Germany] => Array ( [0] => Robin [1] => Toni [2] => Toni ) [France] => Array ( [0] => Sean ) ) fetchAll (by country, col 0): Array ( [Ukraine] => Array ( [0] => Ukraine [1] => Ukraine ) [England] => Array ( [0] => England ) [Germany] => Array ( [0] => Germany [1] => Germany [2] => Germany ) [France] => Array ( [0] => France ) ) fetchAll (by country, col 1): Array ( [Chris] => Array ( [0] => Ukraine ) [Jamie] => Array ( [0] => England ) [Robin] => Array ( [0] => Germany ) [Sean] => Array ( [0] => Ukraine [1] => France ) [Toni] => Array ( [0] => Germany [1] => Germany ) ) fetchAll (by country, col 2): Array ( [104] => Array ( [0] => Ukraine ) [105] => Array ( [0] => England ) [107] => Array ( [0] => Germany ) [108] => Array ( [0] => Ukraine ) [109] => Array ( [0] => Germany ) [110] => Array ( [0] => Germany ) [111] => Array ( [0] => France ) )
Output for 5.1.0 - 5.1.3, 5.2.0 - 5.2.5
fetchAll (no column specified): Array ( [104] => Array ( [0] => Chris ) [105] => Array ( [0] => Jamie ) [107] => Array ( [0] => Robin ) [108] => Array ( [0] => Sean ) [109] => Array ( [0] => Toni ) [110] => Array ( [0] => Toni ) [111] => Array ( [0] => Sean ) ) fetchAll (col 2): Array ( [104] => Array ( [0] => Ukraine ) [105] => Array ( [0] => England ) [107] => Array ( [0] => Germany ) [108] => Array ( [0] => Ukraine ) [109] => Array ( [0] => Germany ) [110] => Array ( [0] => Germany ) [111] => Array ( [0] => France ) ) fetchAll (by country, no column specified): Array ( [Ukraine] => Array ( [0] => Chris [1] => Sean ) [England] => Array ( [0] => Jamie ) [Germany] => Array ( [0] => Robin [1] => Toni [2] => Toni ) [France] => Array ( [0] => Sean ) ) fetchAll (by country, col 0): Array ( [Ukraine] => Array ( [0] => Ukraine [1] => Ukraine ) [England] => Array ( [0] => England ) [Germany] => Array ( [0] => Germany [1] => Germany [2] => Germany ) [France] => Array ( [0] => France ) ) fetchAll (by country, col 1): Array ( [Ukraine] => Array ( [0] => Chris [1] => Sean ) [England] => Array ( [0] => Jamie ) [Germany] => Array ( [0] => Robin [1] => Toni [2] => Toni ) [France] => Array ( [0] => Sean ) ) fetchAll (by country, col 2): Array ( [Ukraine] => Array ( [0] => 104 [1] => 108 ) [England] => Array ( [0] => 105 ) [Germany] => Array ( [0] => 107 [1] => 109 [2] => 110 ) [France] => Array ( [0] => 111 ) )
Output for 5.1.4 - 5.1.6
Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in /in/2f7aV:4 Stack trace: #0 /in/2f7aV(4): PDO->__construct('sqlite::memory:') #1 {main} thrown in /in/2f7aV on line 4
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Fatal error: Class 'PDO' not found in /in/2f7aV on line 4
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected ',', expecting '(' in /in/2f7aV on line 5
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1
Parse error: parse error, unexpected ',', expecting '(' in /in/2f7aV on line 5
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `'('' in /in/2f7aV on line 5
Process exited with code 255.

preferences:
117.94 ms | 419 KiB | 5 Q