Set
1 | lower_case_table_names = 1 |
in
1 | my.ini |
1 | UPPERCASE |
1 | test |
in the database
1 | UPPERCASE |
instead of
1 | uppercase |
(
1 | lower_case_table_names = 1 |
); you are 'redirected' to something like
1 | db_structure.php?server=1&db=UPPERCASE&table=test |
. This does not happen when using the navigation panel afterwards (which displays lowercase names)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Warning in .\libraries\controllers\table\TableStructureController.php#1299 Illegal string offset 'Data_length' Backtrace .\libraries\controllers\table\TableStructureController.php#1255: PMA\libraries\controllers\table\TableStructureController->getTableStats() .\libraries\controllers\table\TableStructureController.php#353: PMA\libraries\controllers\table\TableStructureController->displayStructure( array, array, array, boolean false, array, array, ) .\tbl_structure.php#47: PMA\libraries\controllers\table\TableStructureController->indexAction() |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Warning in .\libraries\controllers\table\TableStructureController.php#1302 Illegal string offset 'Index_length' Backtrace .\libraries\controllers\table\TableStructureController.php#1255: PMA\libraries\controllers\table\TableStructureController->getTableStats() .\libraries\controllers\table\TableStructureController.php#353: PMA\libraries\controllers\table\TableStructureController->displayStructure( array, array, array, boolean false, array, array, ) .\tbl_structure.php#47: PMA\libraries\controllers\table\TableStructureController->indexAction() |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Warning in .\libraries\controllers\table\TableStructureController.php#1314 Illegal string offset 'Data_length' Backtrace .\libraries\controllers\table\TableStructureController.php#1255: PMA\libraries\controllers\table\TableStructureController->getTableStats() .\libraries\controllers\table\TableStructureController.php#353: PMA\libraries\controllers\table\TableStructureController->displayStructure( array, array, array, boolean false, array, array, ) .\tbl_structure.php#47: PMA\libraries\controllers\table\TableStructureController->indexAction() |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Warning in .\libraries\controllers\table\TableStructureController.php#1318 Illegal string offset 'Index_length' Backtrace .\libraries\controllers\table\TableStructureController.php#1255: PMA\libraries\controllers\table\TableStructureController->getTableStats() .\libraries\controllers\table\TableStructureController.php#353: PMA\libraries\controllers\table\TableStructureController->displayStructure( array, array, array, boolean false, array, array, ) .\tbl_structure.php#47: PMA\libraries\controllers\table\TableStructureController->indexAction() |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Warning in .\libraries\controllers\table\TableStructureController.php#1336 Illegal string offset 'Data_length' Backtrace .\libraries\controllers\table\TableStructureController.php#1255: PMA\libraries\controllers\table\TableStructureController->getTableStats() .\libraries\controllers\table\TableStructureController.php#353: PMA\libraries\controllers\table\TableStructureController->displayStructure( array, array, array, boolean false, array, array, ) .\tbl_structure.php#47: PMA\libraries\controllers\table\TableStructureController->indexAction() |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Warning in .\libraries\controllers\table\TableStructureController.php#1337 Illegal string offset 'Index_length' Backtrace .\libraries\controllers\table\TableStructureController.php#1255: PMA\libraries\controllers\table\TableStructureController->getTableStats() .\libraries\controllers\table\TableStructureController.php#353: PMA\libraries\controllers\table\TableStructureController->displayStructure( array, array, array, boolean false, array, array, ) .\tbl_structure.php#47: PMA\libraries\controllers\table\TableStructureController->indexAction() |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Warning in .\libraries\controllers\table\TableStructureController.php#1342 Illegal string offset 'Data_length' Backtrace .\libraries\controllers\table\TableStructureController.php#1255: PMA\libraries\controllers\table\TableStructureController->getTableStats() .\libraries\controllers\table\TableStructureController.php#353: PMA\libraries\controllers\table\TableStructureController->displayStructure( array, array, array, boolean false, array, array, ) .\tbl_structure.php#47: PMA\libraries\controllers\table\TableStructureController->indexAction() |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Warning in .\libraries\controllers\table\TableStructureController.php#1342 Illegal string offset 'Index_length' Backtrace .\libraries\controllers\table\TableStructureController.php#1255: PMA\libraries\controllers\table\TableStructureController->getTableStats() .\libraries\controllers\table\TableStructureController.php#353: PMA\libraries\controllers\table\TableStructureController->displayStructure( array, array, array, boolean false, array, array, ) .\tbl_structure.php#47: PMA\libraries\controllers\table\TableStructureController->indexAction() |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Warning in .\templates\table\structure\display_table_stats.phtml#4 Illegal string offset 'TABLE_COMMENT' Backtrace .\libraries\Template.php#152: include(.\templates\table\structure\display_table_stats.phtml) .\libraries\controllers\table\TableStructureController.php#1379: PMA\libraries\Template->render(array) .\libraries\controllers\table\TableStructureController.php#1255: PMA\libraries\controllers\table\TableStructureController->getTableStats() .\libraries\controllers\table\TableStructureController.php#353: PMA\libraries\controllers\table\TableStructureController->displayStructure( array, array, array, boolean false, array, array, ) .\tbl_structure.php#47: PMA\libraries\controllers\table\TableStructureController->indexAction() |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Warning in .\templates\table\structure\display_table_stats.phtml#6 Illegal string offset 'TABLE_COMMENT' Backtrace .\libraries\Template.php#152: include(.\templates\table\structure\display_table_stats.phtml) .\libraries\controllers\table\TableStructureController.php#1379: PMA\libraries\Template->render(array) .\libraries\controllers\table\TableStructureController.php#1255: PMA\libraries\controllers\table\TableStructureController->getTableStats() .\libraries\controllers\table\TableStructureController.php#353: PMA\libraries\controllers\table\TableStructureController->displayStructure( array, array, array, boolean false, array, array, ) .\tbl_structure.php#47: PMA\libraries\controllers\table\TableStructureController->indexAction() |
1 | lowercase |
1 | TEST |
1 | TEST |
instead of
1 | test |
PHPMyAdmin also throws an error when loading the structure of a table in an uppercase database or the structure of an uppercase table in an uppercase/lowercase database which was created with
1 | lower_case_table_names = 2 |
(so the table/database has an actual uppercase name).
E.g. there is a database called
1 | UPPERCASE |
with a table
1 | test |
, then
1 | tbl_structure.php?db=UPPERCASE&table=test |
throws an error.
This only and always happens when loading up the table with
1 | lower_case_table_names = 1 |
However,
1 | INFORMATION_SCHEMA |
does not seem to be affected by this.
This also happens when trying to load table
1 | test |
while it's actually called
1 | TEST |
if
1 | lower_case_table_names = 1 |
.
I couldn't test with
1 | lower_case_table_names = 0 |
, because MariaDB does not support this on Windows.
1 | lower_case_table_names = 1 |
1 | utf8mb4_general_ci |
). Especially not if the name actually contains uppercase characters.
1 | lower_case_table_names = 1 |
set
1 | lower_case_table_names = 2 |
1 | TEST |
in database
1 | lowercase |
1 | lower_case_table_names |
-->|
1 | 1 |
|
1 | 2 |
---|---|---
1 | tbl_structure.php?db=lowercase&table=test |
|Error in Microsoft Edge (redirects to
1 | TEST |
), Works in Firefox|Error!
1 | tbl_structure.php?db=lowercase&table=TEST |
|Error!|Works
Operating system: Windows 10 x64
Web server: Apache 2.4.25 x86
Database: MariaDB 10.2.5 RC x64
PHP version: 7.1.1 x86
phpMyAdmin version: 4.7.0
Browser: Microsoft Edge 14, Mozilla Firefox 52.0.2
Operating system: Windows 10 x64
该提问来源于开源项目:phpmyadmin/phpmyadmin
Fixed by ca3f027f7e714df46865d8e8393d94ff535a957d :tada: