Make use of this fancy new function PMA_DBI_fetch_value().

This commit is contained in:
Alexander M. Turek
2005-10-20 11:13:01 +00:00
parent dc4e3bf1a9
commit c4acd45adf
2 changed files with 6 additions and 17 deletions

View File

@@ -6,9 +6,10 @@ $Id$
$Source$ $Source$
2005-10-20 Alexander M. Turek <me@derrabus.de> 2005-10-20 Alexander M. Turek <me@derrabus.de>
* libraries/mysql_charsets.lib.php: On MySQL 5.0.6, we don't have to parse * libraries/mysql_charsets.lib.php:
SHOW CREATE DATABASE anymore, if we just want to get to know a - On MySQL 5.0.6, we don't have to parse SHOW CREATE DATABASE anymore,
database's default collation. if we just want to get to know a database's default collation;
- Make use of this fancy new function PMA_DBI_fetch_value().
2005-10-20 Sebastian Mendel <cybot_tm@users.sourceforge.net> 2005-10-20 Sebastian Mendel <cybot_tm@users.sourceforge.net>
* sql.php, footer.inc.php: refresh left frame on view creation * sql.php, footer.inc.php: refresh left frame on view creation

View File

@@ -284,23 +284,11 @@ if (PMA_MYSQL_INT_VERSION >= 40100){
} }
if (PMA_MYSQL_INT_VERSION >= 50006) { if (PMA_MYSQL_INT_VERSION >= 50006) {
// Since MySQL 5.0.6, we don't have to parse SHOW CREATE DATABASE anymore. // Since MySQL 5.0.6, we don't have to parse SHOW CREATE DATABASE anymore.
$res = PMA_DBI_query('SELECT DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = \'' . PMA_sqlAddSlashes($db) . '\' LIMIT 1;'); return PMA_DBI_fetch_value('SELECT DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = \'' . PMA_sqlAddSlashes($db) . '\' LIMIT 1;');
if ($res) {
list($db_collation) = PMA_DBI_fetch_row($res);
PMA_DBI_free_result($res);
return $db_collation;
} else {
// If we get here, the database does not exist or our MySQL server plays silly games on us...
return '';
}
} else if (PMA_MYSQL_INT_VERSION >= 40101) { } else if (PMA_MYSQL_INT_VERSION >= 40101) {
// MySQL 4.1.0 does not support seperate charset settings // MySQL 4.1.0 does not support seperate charset settings
// for databases. // for databases.
$res = PMA_DBI_query('SHOW CREATE DATABASE ' . PMA_backquote($db) . ';', NULL, PMA_DBI_QUERY_STORE); $tokenized = explode(' ', PMA_DBI_fetch_value('SHOW CREATE DATABASE ' . PMA_backquote($db) . ';'));
$row = PMA_DBI_fetch_row($res);
PMA_DBI_free_result($res);
$tokenized = explode(' ', $row[1]);
unset($row, $res);
for ($i = 1; $i + 3 < count($tokenized); $i++) { for ($i = 1; $i + 3 < count($tokenized); $i++) {
if ($tokenized[$i] == 'DEFAULT' && $tokenized[$i + 1] == 'CHARACTER' && $tokenized[$i + 2] == 'SET') { if ($tokenized[$i] == 'DEFAULT' && $tokenized[$i + 1] == 'CHARACTER' && $tokenized[$i + 2] == 'SET') {