Tried a fix against bug #510223 (Create Database link)

This commit is contained in:
Loïc Chapeaux
2002-02-25 21:13:55 +00:00
parent b8fc717042
commit d8b27ce41c
2 changed files with 8 additions and 5 deletions

View File

@@ -8,6 +8,8 @@ $Source$
2002-02-25 Lo<4C>c Chapeaux <lolo@phpheaven.net> 2002-02-25 Lo<4C>c Chapeaux <lolo@phpheaven.net>
* lang/japanese-*: updated thanks to Yukihiro Kawada aka "luc" * lang/japanese-*: updated thanks to Yukihiro Kawada aka "luc"
<kawada at den.fujifilm.co.jp>. <kawada at den.fujifilm.co.jp>.
* main.php3: tried a fix against bug #510223 (Create Database link) thanks
to Purodha B Blissenbach <purodha at sourceforge.net>.
2002-02-24 Lo<4C>c Chapeaux <lolo@phpheaven.net> 2002-02-24 Lo<4C>c Chapeaux <lolo@phpheaven.net>
* lang/german.inc.php3: updated thanks to Alexander M. Turek. * lang/german.inc.php3: updated thanks to Alexander M. Turek.

View File

@@ -191,12 +191,13 @@ if ($server > 0) {
$local_query = 'SELECT DISTINCT Db FROM mysql.db WHERE Create_priv = \'Y\' AND User = \'' . PMA_sqlAddslashes($mysql_cur_user) . '\''; $local_query = 'SELECT DISTINCT Db FROM mysql.db WHERE Create_priv = \'Y\' AND User = \'' . PMA_sqlAddslashes($mysql_cur_user) . '\'';
$rs_usr = mysql_query($local_query, $dbh); // Debug: or PMA_mysqlDie('', $local_query, FALSE); $rs_usr = mysql_query($local_query, $dbh); // Debug: or PMA_mysqlDie('', $local_query, FALSE);
if ($rs_usr) { if ($rs_usr) {
$re = '(^|(\\\\\\\\)+|[^\])';
while ($row = mysql_fetch_array($rs_usr)) { while ($row = mysql_fetch_array($rs_usr)) {
if (!mysql_select_db($row['Db'], $userlink) && @mysql_errno() != 1044) { if (ereg($re . '%|_', $row['Db'])
$re = '(^|(\\\\\\\\)+|[^\])'; || !mysql_select_db($row['Db'], $userlink) && @mysql_errno() != 1044) {
$row['Db'] = ereg_replace($re . '%', '\\1...', ereg_replace($re . '_', '\\1?', $row['Db'])); $row['Db'] = ereg_replace($re . '%', '\\1...', ereg_replace($re . '_', '\\1?', $row['Db']));
$db_to_create = $row['Db']; $db_to_create = $row['Db'];
$is_create_priv = TRUE; $is_create_priv = TRUE;
break; break;
} // end if } // end if
} // end while } // end while