Changeset 32414
- Timestamp:
- 05/06/2015 09:04:46 PM (9 years ago)
- Location:
- branches/3.9
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3.9/src/wp-includes/wp-db.php
r32405 r32414 2210 2210 2211 2211 $charsets = $columns = array(); 2212 $results = $this->get_results( "SHOW FULL COLUMNS FROM `$table`" ); 2212 2213 $table_parts = explode( '.', $table ); 2214 $table = '`' . implode( '`.`', $table_parts ) . '`'; 2215 $results = $this->get_results( "SHOW FULL COLUMNS FROM $table" ); 2213 2216 if ( ! $results ) { 2214 2217 return new WP_Error( 'wpdb_get_table_charset_failure' ); … … 2783 2786 . '|UPDATE(?:\s+LOW_PRIORITY)?(?:\s+IGNORE)?' 2784 2787 . '|DELETE(?:\s+LOW_PRIORITY|\s+QUICK|\s+IGNORE)*(?:\s+FROM)?' 2785 . ')\s+ `?([\w-]+)`?/is', $query, $maybe ) ) {2786 return $maybe[1];2788 . ')\s+((?:[0-9a-zA-Z$_.`]|[\xC2-\xDF][\x80-\xBF])+)/is', $query, $maybe ) ) { 2789 return str_replace( '`', '', $maybe[1] ); 2787 2790 } 2788 2791 … … 2791 2794 . 'SHOW\s+TABLE\s+STATUS.+(?:LIKE\s+|WHERE\s+Name\s*=\s*)' 2792 2795 . '|SHOW\s+(?:FULL\s+)?TABLES.+(?:LIKE\s+|WHERE\s+Name\s*=\s*)' 2793 . ')\W( [\w-]+)\W/is', $query, $maybe ) ) {2794 return $maybe[1];2796 . ')\W((?:[0-9a-zA-Z$_.`]|[\xC2-\xDF][\x80-\xBF])+)\W/is', $query, $maybe ) ) { 2797 return str_replace( '`', '', $maybe[1] ); 2795 2798 } 2796 2799 … … 2810 2813 . '|(?:GRANT|REVOKE).*ON\s+TABLE' 2811 2814 . '|SHOW\s+(?:.*FROM|.*TABLE)' 2812 . ')\s+\(*\s* `?([\w-]+)`?\s*\)*/is', $query, $maybe ) ) {2813 return $maybe[1];2815 . ')\s+\(*\s*((?:[0-9a-zA-Z$_.`]|[\xC2-\xDF][\x80-\xBF])+)\s*\)*/is', $query, $maybe ) ) { 2816 return str_replace( '`', '', $maybe[1] ); 2814 2817 } 2815 2818 -
branches/3.9/tests/phpunit/tests/db.php
r32389 r32414 393 393 function data_get_table_from_query() { 394 394 $table = 'a_test_table_name'; 395 $db_table = '`a_test_db`.`another_test_table`'; 395 396 396 397 $queries = array( … … 495 496 ); 496 497 497 foreach ( $queries as &$query ) { 498 $query = array( $query, $table ); 498 $querycount = count( $queries ); 499 for ( $ii = 0; $ii < $querycount; $ii++ ) { 500 $db_query = str_replace( $table, $db_table, $queries[ $ii ] ); 501 $expected_db_table = str_replace( '`', '', $db_table ); 502 503 $queries[ $ii ] = array( $queries[ $ii ], $table ); 504 $queries[] = array( $db_query, $expected_db_table ); 499 505 } 500 506 return $queries;
Note: See TracChangeset
for help on using the changeset viewer.