[!!!][BUGFIX] Database API: Cast bool values to integer for MySQL
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Documentation / Changelog / master / Breaking-68562-BoolValuesNeedToBeCastToIntegerForMySQLStrictMode.rst
1 ===============================================================================
2 Breaking: #68562 - Bool values need to be cast to integer for MySQL strict mode
3 ===============================================================================
4
5 Description
6 ===========
7
8 MySQL strict mode doesn't accept '' as a valid value to store in aninteger
9 column if the MySQL server is running in strict mode.
10
11 mysqli_real_escape() casts boolean values to string using '1' (for ``TRUE``)
12 and '' (for ``FALSE``). Due to this special handling is required for boolean
13 values to result in '0' and '1' for FALSE/TRUE.
14
15
16 Impact
17 ======
18
19 All TYPO3 CMS installations using MySQL as DBMS.
20
21
22 Affected Installations
23 ======================
24
25 Installations where 3rd party extension are relying on ``FALSE`` being cast to ''
26 when they are storing boolean values in character type colums. In this case new
27 values will get stored as '0'
28
29
30 Migration
31 =========
32
33 Adjust the code to either store boolean values in integer type columns or
34 manually cast the boolean value to string before storing it in the database.