Bug #81492
Updated by Georg Ringer over 7 years ago
h1. Problem/Description The DBAL comaptible h2. Following TypoScript throws an exception due a wrong generated MySQL command https://github.com/jousch/TYPO3-Distribution/blob/a998a1eed9203ee8c40edc83f9a20996be12d768/app/web/typo3conf/ext/theme/Configuration/TypoScript/Base/Libs/DynamicContent.setupts#L88 <pre> lib.dynamicContent = COA lib.dynamicContent { 5 = LOAD_REGISTER 5 { colPos.cObject = TEXT colPos.cObject { field = colPos ifEmpty.cObject = TEXT ifEmpty.cObject { value.current = 1 ifEmpty = 0 } } pageUid.cObject = TEXT pageUid.cObject { field = pageUid ifEmpty.data = TSFE:id } contentFromPid.cObject = TEXT contentFromPid.cObject { data = DB:pages:{register:pageUid}:content_from_pid data.insertData = 1 } wrap.cObject = TEXT wrap.cObject { field = wrap } maxItems.cObject = TEXT maxItems.cObject { field = maxItems ifEmpty = } } 20 = CONTENT 20 { table = tt_content select { includeRecordsWithoutDefaultTranslation = 1 orderBy = sorting where = {#colPos}={register:colPos} where.insertData = 1 pidInList.data = register:pageUid pidInList.override.data = register:contentFromPid max.data = register:maxItems // select.languageField setting is needed if you use this typoscript in TYPO3 < v7 // languageField = sys_language_uid } stdWrap { dataWrap = {register:wrap} required = 1 } } 90 = RESTORE_REGISTER } </pre> h2. Exception <pre> An exception occurred while executing ' SELECT * FROM `tt_content` WHERE ( `tt_content`.`pid` (`tt_content`.`pid` IN (18)) AND (=1) AND (`tt_content`.`sys_language_uid` = 0) AND ((`tt_content`.`deleted` = 0) AND (`tt_content`.`t3ver_state` <= 0) AND (`tt_content`.`pid` <> -1) AND (`tt_content`.`hidden` = 0) AND (`tt_content`.`starttime` <= 1496779800) AND ((`tt_content`.`endtime` = 0) OR (`tt_content`.`endtime` > 1496779800)) AND (((`tt_content`.`fe_group` = '') OR (`tt_content`.`fe_group` IS NULL) OR (`tt_content`.`fe_group` = '0') OR (FIND_IN_SET('0', `tt_content`.`fe_group`)) OR (FIND_IN_SET('-1', `tt_content`.`fe_group`))))) ORDER BY `sorting` ASC': You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '=1) AND (`tt_content`.`sys_language_uid` = 0) AND ((`tt_content`.`deleted` = 0) ' at line 1 </pre> h3. The same typoscript is also used by Benji's ext:bootstrap_package. If he/we want to make the DBAL compatible it will of course throw the same error. I'm not that deep into database relevant stuff, but could it something have to do with the @insertData@ stdWrap function? It seems like https://docs.typo3.org/typo3cms/extensions/core/8.7/Changelog/8.7/Important-80506-DbalCompatibleFieldQuotingInTypoScript.html needs more code/love (#80506).