|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2005-04-21 17:31 UTC] wez@php.net
[2005-04-22 07:35 UTC] tom at supertom dot com
[2005-04-22 09:24 UTC] tom at supertom dot com
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Nov 03 22:00:01 2025 UTC |
Description: ------------ I believe I have found a bug PDO - 0.3 PDO_SQLITE - 0.3 If I retrieve the results of PRAGMA table_info('user_policy') with fetchAll, the type column in the array that is returned is mangled. It appears to me that spaces are sucked out. Notice the user_policy_no data type below, and the output of PHP's print_r on the array that is returned. "INTEGER UNSIGNED" is turned into "INTEGERUNSIGNED" Here is my SQL: CREATE TABLE user_policy ( user_policy_no INTEGER UNSIGNED NOT NULL , name VARCHAR(80) NOT NULL, manager_zone_access_level CHAR(1) NULL, manager_active_yn CHAR(1) NOT NULL DEFAULT '1', manager_gui_access_level_lkup CHAR(1) NULL, active_yn CHAR(1) NULL, creation_dte DATETIME NULL, last_modified_dte DATETIME NULL, PRIMARY KEY(user_policy_no) ) Here is a dump of the array: [0] => Array ( [cid] => 0 [0] => 0 [name] => user_policy_no [1] => user_policy_no [type] => INTEGERUNSIGNED [2] => INTEGERUNSIGNED [notnull] => 99 [3] => 99 [dflt_value] => [4] => [pk] => 1 [5] => 1 ) Reproduce code: --------------- CREATE TABLE user_policy ( user_policy_no INTEGER UNSIGNED NOT NULL , name VARCHAR(80) NOT NULL, manager_zone_access_level CHAR(1) NULL, manager_active_yn CHAR(1) NOT NULL DEFAULT '1', manager_gui_access_level_lkup CHAR(1) NULL, active_yn CHAR(1) NULL, creation_dte DATETIME NULL, last_modified_dte DATETIME NULL, PRIMARY KEY(user_policy_no) ) $field_result = $db->prepare("PRAGMA table_info('user_policy')"); $field_result->execute(); print_r($field_result->fetchAll()); Expected result: ---------------- Array ( [0] => Array ( [cid] => 0 [0] => 0 [name] => user_policy_no [1] => user_policy_no [type] => INTEGERUNSIGNED [2] => INTEGERUNSIGNED [notnull] => 99 [3] => 99 [dflt_value] => [4] => [pk] => 1 [5] => 1 ) [1] => Array ( [cid] => 1 [0] => 1 [name] => name [1] => name [type] => VARCHAR(80) [2] => VARCHAR(80) [notnull] => 99 [3] => 99 [dflt_value] => [4] => [pk] => 0 [5] => 0 ) [2] => Array ( [cid] => 2 [0] => 2 [name] => manager_zone_access_level [1] => manager_zone_access_level [type] => CHAR(1) [2] => CHAR(1) [notnull] => 0 [3] => 0 [dflt_value] => [4] => [pk] => 0 [5] => 0 ) [3] => Array ( [cid] => 3 [0] => 3 [name] => manager_active_yn [1] => manager_active_yn [type] => CHAR(1) [2] => CHAR(1) [notnull] => 99 [3] => 99 [dflt_value] => 1 [4] => 1 [pk] => 0 [5] => 0 ) [4] => Array ( [cid] => 4 [0] => 4 [name] => manager_gui_access_level_lkup [1] => manager_gui_access_level_lkup [type] => CHAR(1) [2] => CHAR(1) [notnull] => 0 [3] => 0 [dflt_value] => [4] => [pk] => 0 [5] => 0 ) [5] => Array ( [cid] => 5 [0] => 5 [name] => active_yn [1] => active_yn [type] => CHAR(1) [2] => CHAR(1) [notnull] => 0 [3] => 0 [dflt_value] => [4] => [pk] => 0 [5] => 0 ) [6] => Array ( [cid] => 6 [0] => 6 [name] => creation_dte [1] => creation_dte [type] => DATETIME [2] => DATETIME [notnull] => 0 [3] => 0 [dflt_value] => [4] => [pk] => 0 [5] => 0 ) [7] => Array ( [cid] => 7 [0] => 7 [name] => last_modified_dte [1] => last_modified_dte [type] => DATETIME [2] => DATETIME [notnull] => 0 [3] => 0 [dflt_value] => [4] => [pk] => 0 [5] => 0 ) )