Skip to content

Commit

Permalink
docs: Comment on database.php about adding `PDO::ATTR_STRINGIFY_FETCH…
Browse files Browse the repository at this point in the history
…ES => true` flag in PHP 8.1

Comment on how to set up when using PDO MySQL/SQLite driver with connection flags unspecified and PHP 8.1 to keep the type when retrieving integer/float columns.
  • Loading branch information
tenkoma authored and kamilwylegala committed Feb 19, 2023
1 parent 797b7e0 commit 071b292
Showing 1 changed file with 14 additions and 1 deletion.
15 changes: 14 additions & 1 deletion app/Config/database.php.default
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
* database. Uses database default not specified.
*
* sslmode =>
* For Postgres specifies whether to 'disable', 'allow', 'prefer', or 'require' SSL for the
* For Postgres specifies whether to 'disable', 'allow', 'prefer', or 'require' SSL for the
* connection. The default value is 'allow'.
*
* unix_socket =>
Expand All @@ -75,6 +75,15 @@ class DATABASE_CONFIG {
'database' => 'database_name',
'prefix' => '',
//'encoding' => 'utf8',

// PDO MySQL/SQLite Driver had the following backward incompatible changes in PHP 8.1
// * https://www.php.net/manual/en/migration81.incompatible.php#migration81.incompatible.pdo.mysql
// * https://www.php.net/manual/en/migration81.incompatible.php#migration81.incompatible.pdo.sqlite
// If under PHP 8.1 and didn't use the following flags, adding them will cause integer and float columns
// in the result set to be strings as before.
// 'flags' => array(
// PDO::ATTR_STRINGIFY_FETCHES => true
// )
);

public $test = array(
Expand All @@ -86,5 +95,9 @@ class DATABASE_CONFIG {
'database' => 'test_database_name',
'prefix' => '',
//'encoding' => 'utf8',

// 'flags' => array(
// PDO::ATTR_STRINGIFY_FETCHES => true
// )
);
}

0 comments on commit 071b292

Please sign in to comment.