bug #1568341, case sensitivity in db names
This commit is contained in:
@@ -5,6 +5,11 @@ phpMyAdmin - ChangeLog
|
|||||||
$Id$
|
$Id$
|
||||||
$Source$
|
$Source$
|
||||||
|
|
||||||
|
2006-10-01 Marc Delisle <lem9@users.sourceforge.net>
|
||||||
|
### 2.9.0.1 released from MAINT_2_9_0
|
||||||
|
* libraries/database_interface.lib.php: bug #1568341,
|
||||||
|
case sensitivity in database names
|
||||||
|
|
||||||
2006-09-29 Marc Delisle <lem9@users.sourceforge.net>
|
2006-09-29 Marc Delisle <lem9@users.sourceforge.net>
|
||||||
* libraries/grab_globals.lib.php: fix attack via _FILES,
|
* libraries/grab_globals.lib.php: fix attack via _FILES,
|
||||||
thanks to Stefan Esser
|
thanks to Stefan Esser
|
||||||
|
@@ -269,6 +269,10 @@ function PMA_DBI_get_tables_full($database, $table = false,
|
|||||||
|
|
||||||
// for PMA bc:
|
// for PMA bc:
|
||||||
// `SCHEMA_FIELD_NAME` AS `SHOW_TABLE_STATUS_FIELD_NAME`
|
// `SCHEMA_FIELD_NAME` AS `SHOW_TABLE_STATUS_FIELD_NAME`
|
||||||
|
//
|
||||||
|
// added BINARY in the WHERE clause to force a case sensitive
|
||||||
|
// comparison (if we are looking for the db AA we don't want
|
||||||
|
// to find the db aa)
|
||||||
$sql = '
|
$sql = '
|
||||||
SELECT *,
|
SELECT *,
|
||||||
`TABLE_SCHEMA` AS `Db`,
|
`TABLE_SCHEMA` AS `Db`,
|
||||||
@@ -292,12 +296,13 @@ function PMA_DBI_get_tables_full($database, $table = false,
|
|||||||
`CREATE_OPTIONS` AS `Create_options`,
|
`CREATE_OPTIONS` AS `Create_options`,
|
||||||
`TABLE_COMMENT` AS `Comment`
|
`TABLE_COMMENT` AS `Comment`
|
||||||
FROM `information_schema`.`TABLES`
|
FROM `information_schema`.`TABLES`
|
||||||
WHERE `TABLE_SCHEMA` IN (\'' . implode("', '", $databases) . '\')
|
WHERE BINARY `TABLE_SCHEMA` IN (\'' . implode("', '", $databases) . '\')
|
||||||
' . $sql_where_table;
|
' . $sql_where_table;
|
||||||
$tables = PMA_DBI_fetch_result($sql, array('TABLE_SCHEMA', 'TABLE_NAME'),
|
$tables = PMA_DBI_fetch_result($sql, array('TABLE_SCHEMA', 'TABLE_NAME'),
|
||||||
null, $link);
|
null, $link);
|
||||||
unset( $sql_where_table, $sql );
|
unset( $sql_where_table, $sql );
|
||||||
}
|
}
|
||||||
|
|
||||||
// If permissions are wrong on even one database directory,
|
// If permissions are wrong on even one database directory,
|
||||||
// information_schema does not return any table info for any database
|
// information_schema does not return any table info for any database
|
||||||
// this is why we fall back to SHOW TABLE STATUS even for MySQL >= 50002
|
// this is why we fall back to SHOW TABLE STATUS even for MySQL >= 50002
|
||||||
|
Reference in New Issue
Block a user