bug 434608

This commit is contained in:
Marc Delisle
2001-06-27 14:17:59 +00:00
parent e66e54abcb
commit d4e5d0316f
6 changed files with 35 additions and 21 deletions

View File

@@ -5,6 +5,10 @@ phpMyAdmin - Changelog
$Id$ $Id$
$Source$ $Source$
2001-06-27 Marc Delisle <lem9@users.sourceforge.net>
* bug 434608: support db names with special characters (MySQL >= 3.23.6)
2001-06-27 Steve Alberty <alberty@neptunlabs.de> 2001-06-27 Steve Alberty <alberty@neptunlabs.de>
* lib.inc.php3: speedup get_table_content for tbl_dump * lib.inc.php3: speedup get_table_content for tbl_dump
* tbl_dump: fixed a big bug * tbl_dump: fixed a big bug

View File

@@ -6,9 +6,9 @@ require("./grab_globals.inc.php3");
require("./header.inc.php3"); require("./header.inc.php3");
$result = mysql_query("CREATE DATABASE $db") or mysql_die(); $result = mysql_query("CREATE DATABASE " . db_name($db)) or mysql_die();
$message = "$strDatabase $db $strHasBeenCreated"; $message = "$strDatabase " . db_name($db) . " $strHasBeenCreated";
require("./db_details.php3"); require("./db_details.php3");
?> ?>

View File

@@ -19,7 +19,7 @@ $num_tables = @mysql_numrows($tables);
if ($num_tables>0 && MYSQL_MAJOR_VERSION>=3.23 && intval(MYSQL_MINOR_VERSION)>=3){ if ($num_tables>0 && MYSQL_MAJOR_VERSION>=3.23 && intval(MYSQL_MINOR_VERSION)>=3){
// Special speedup for newer MySQL Versions // Special speedup for newer MySQL Versions
if ($cfgSkipLockedTables==true && MYSQL_MAJOR_VERSION==3.23 && intval(MYSQL_MINOR_VERSION)>=30){ // in 4.0 format changed if ($cfgSkipLockedTables==true && MYSQL_MAJOR_VERSION==3.23 && intval(MYSQL_MINOR_VERSION)>=30){ // in 4.0 format changed
$query="SHOW OPEN TABLES from $db"; $query="SHOW OPEN TABLES from " . db_name($db);
$result=mysql_query($query); $result=mysql_query($query);
// Blending out tables in use // Blending out tables in use
if ($result!=false && mysql_num_rows($result)>0){ if ($result!=false && mysql_num_rows($result)>0){
@@ -32,12 +32,12 @@ if ($num_tables>0 && MYSQL_MAJOR_VERSION>=3.23 && intval(MYSQL_MINOR_VERSION)>=3
mysql_free_result($result); mysql_free_result($result);
if (isset($sot_cache)){ if (isset($sot_cache)){
$query="show tables from $db"; $query="show tables from " . db_name($db);
$result=mysql_query($query); $result=mysql_query($query);
if ($result!=false && mysql_num_rows($result)>0){ if ($result!=false && mysql_num_rows($result)>0){
while ($tmp=mysql_fetch_array($result)){ while ($tmp=mysql_fetch_array($result)){
if (!isset($sot_cache[$tmp[0]])){ if (!isset($sot_cache[$tmp[0]])){
$sts_result=mysql_query("show table status from $db like '".AddSlashes($tmp[0])."'"); $sts_result=mysql_query("show table status from " . db_name($db) . " like '".AddSlashes($tmp[0])."'");
$sts_tmp=mysql_fetch_array($sts_result); $sts_tmp=mysql_fetch_array($sts_result);
$tbl_cache[]=$sts_tmp; $tbl_cache[]=$sts_tmp;
} }
@@ -53,7 +53,7 @@ if ($num_tables>0 && MYSQL_MAJOR_VERSION>=3.23 && intval(MYSQL_MINOR_VERSION)>=3
} }
} }
if (!isset($sot_ready)){ if (!isset($sot_ready)){
$result=mysql_query("show table status from $db"); $result=mysql_query("show table status from " .db_name($db));
if ($result!=false && mysql_num_rows($result)>0){ if ($result!=false && mysql_num_rows($result)>0){
while ($sts_tmp=mysql_fetch_array($result)){ while ($sts_tmp=mysql_fetch_array($result)){
$tbl_cache[]=$sts_tmp; $tbl_cache[]=$sts_tmp;
@@ -269,7 +269,7 @@ if($cfgBookmark['db'] && $cfgBookmark['table'])
</form> </form>
<li> <li>
<a href="sql.php3?server=<?php echo $server;?>&lang=<?php echo $lang;?>&db=<?php echo $db;?>&sql_query=<?php echo urlencode("DROP DATABASE $db");?>&zero_rows=<?php echo urlencode($strDatabase." ".$db." ".$strHasBeenDropped);?>&goto=main.php3&reload=true"><?php echo $strDropDB." ".$db;?></a> <?php print show_docu("manual_Reference.html#DROP_DATABASE");?> <a href="sql.php3?server=<?php echo $server;?>&lang=<?php echo $lang;?>&db=<?php echo $db;?>&sql_query=<?php echo urlencode("DROP DATABASE " .db_name($db));?>&zero_rows=<?php echo urlencode($strDatabase." ".db_name($db)." ".$strHasBeenDropped);?>&goto=main.php3&reload=true"><?php echo $strDropDB." ".$db;?></a> <?php print show_docu("manual_Reference.html#DROP_DATABASE");?>
</ul> </ul>
</div> </div>
<?php <?php

View File

@@ -303,7 +303,7 @@ function display_table ($dt_result, $is_simple = false) {
$primary = false; $primary = false;
if(!$is_simple && !empty($table) && !empty($db)) { if(!$is_simple && !empty($table) && !empty($db)) {
$result = mysql_query("SELECT COUNT(*) as total FROM $db.$table") or mysql_die(); $result = mysql_query("SELECT COUNT(*) as total FROM " .db_name($db).".$table") or mysql_die();
$row = mysql_fetch_array($result); $row = mysql_fetch_array($result);
$total = $row["total"]; $total = $row["total"];
} }
@@ -486,7 +486,7 @@ function get_table_def($db, $table, $crlf)
// modified by Lem9 to allow older MySQL versions to continue to work // modified by Lem9 to allow older MySQL versions to continue to work
if(MYSQL_MAJOR_VERSION == "3.23" && intval(MYSQL_MINOR_VERSION) > 20){ if(MYSQL_MAJOR_VERSION == "3.23" && intval(MYSQL_MINOR_VERSION) > 20){
$result=mysql_query("show create table $db.$table"); $result=mysql_query("show create table " .db_name($db).".$table");
if ($result!=false && mysql_num_rows($result)>0){ if ($result!=false && mysql_num_rows($result)>0){
$tmpres=mysql_fetch_array($result); $tmpres=mysql_fetch_array($result);
$tmp=$tmpres[1]; $tmp=$tmpres[1];
@@ -497,7 +497,7 @@ function get_table_def($db, $table, $crlf)
$schema_create .= "CREATE TABLE $table ($crlf"; $schema_create .= "CREATE TABLE $table ($crlf";
$result = mysql_query("SHOW FIELDS FROM $db.$table") or mysql_die(); $result = mysql_query("SHOW FIELDS FROM " .db_name($db).".$table") or mysql_die();
while($row = mysql_fetch_array($result)) while($row = mysql_fetch_array($result))
{ {
$schema_create .= " $row[Field] $row[Type]"; $schema_create .= " $row[Field] $row[Type]";
@@ -511,7 +511,7 @@ function get_table_def($db, $table, $crlf)
$schema_create .= ",$crlf"; $schema_create .= ",$crlf";
} }
$schema_create = ereg_replace(",".$crlf."$", "", $schema_create); $schema_create = ereg_replace(",".$crlf."$", "", $schema_create);
$result = mysql_query("SHOW KEYS FROM $db.$table") or mysql_die(); $result = mysql_query("SHOW KEYS FROM " .db_name($db).".$table") or mysql_die();
while($row = mysql_fetch_array($result)) while($row = mysql_fetch_array($result))
{ {
$kname=$row['Key_name']; $kname=$row['Key_name'];
@@ -567,7 +567,7 @@ function get_table_content ($db, $table, $handler){
// only php > 4.0.5 - staybyte - 27. June 2001 // only php > 4.0.5 - staybyte - 27. June 2001
function get_table_content_fast($db, $table, $handler){ function get_table_content_fast($db, $table, $handler){
$result = mysql_query("SELECT * FROM $db.$table") or mysql_die(); $result = mysql_query("SELECT * FROM ".db_name($db).".$table") or mysql_die();
if ($result!=false){ if ($result!=false){
for($j=0; $j<mysql_num_fields($result);$j++){ for($j=0; $j<mysql_num_fields($result);$j++){
$field_set[$j]= mysql_field_name($result,$j); $field_set[$j]= mysql_field_name($result,$j);
@@ -611,7 +611,7 @@ function get_table_content_fast($db, $table, $handler){
function get_table_content_old($db, $table, $handler) function get_table_content_old($db, $table, $handler)
{ {
$result = mysql_query("SELECT * FROM $db.$table") or mysql_die(); $result = mysql_query("SELECT * FROM " . db_name($db) .".$table") or mysql_die();
$i = 0; $i = 0;
while($row = mysql_fetch_row($result)) while($row = mysql_fetch_row($result))
{ {
@@ -667,7 +667,7 @@ function get_table_content_old($db, $table, $handler)
function count_records ($db,$table) function count_records ($db,$table)
{ {
$result = mysql_query("select count(*) as num from $db.$table"); $result = mysql_query("select count(*) as num from ".db_name($db).".$table");
$num = mysql_result($result,0,"num"); $num = mysql_result($result,0,"num");
echo $num; echo $num;
} }
@@ -678,7 +678,7 @@ function count_records ($db,$table)
// $handler must accept one parameter ($sql_insert); // $handler must accept one parameter ($sql_insert);
function get_table_csv($db, $table, $sep, $handler) function get_table_csv($db, $table, $sep, $handler)
{ {
$result = mysql_query("SELECT * FROM $db.$table") or mysql_die(); $result = mysql_query("SELECT * FROM ".db_name($db).".$table") or mysql_die();
$i = 0; $i = 0;
while($row = mysql_fetch_row($result)) while($row = mysql_fetch_row($result))
{ {
@@ -907,6 +907,16 @@ function format_byte_down($value,$limes=6,$comma=0){
return array($returnvalue,$unit); return array($returnvalue,$unit);
} }
// to support special characters in db names: Lem9, 2001-06-27
function db_name ($db) {
if (MYSQL_MAJOR_VERSION >= "3.23"
&& intval(MYSQL_MINOR_VERSION) >= 6) {
return "`" . $db . "`";
}
else return $db;
}
include ("./defines.inc.php3"); include ("./defines.inc.php3");
} // $__LIB_INC__ } // $__LIB_INC__

View File

@@ -63,7 +63,7 @@ if(isset($submit))
} }
$sql_query = "ALTER TABLE $table ADD $query"; $sql_query = "ALTER TABLE $table ADD $query";
$result = mysql_query("ALTER TABLE $db.$table ADD $query"); $result = mysql_query("ALTER TABLE ".db_name($db).".$table ADD $query");
$primary = ''; $primary = '';
@@ -80,7 +80,7 @@ if(isset($submit))
{ {
$primary = "ADD PRIMARY KEY ($primary)"; $primary = "ADD PRIMARY KEY ($primary)";
$sql_query .= "\nALTER TABLE $table $primary"; $sql_query .= "\nALTER TABLE $table $primary";
$result = mysql_query("ALTER TABLE $db.$table $primary") or mysql_die(); $result = mysql_query("ALTER TABLE ".db_name($db).".$table $primary") or mysql_die();
} }
} }
@@ -101,7 +101,7 @@ if(isset($submit))
{ {
$index = "ADD INDEX ($index)"; $index = "ADD INDEX ($index)";
$sql_query .= "\nALTER TABLE $table $index"; $sql_query .= "\nALTER TABLE $table $index";
$result = mysql_query("ALTER TABLE $db.$table $index") or mysql_die(); $result = mysql_query("ALTER TABLE ".db_name($db).".$table $index") or mysql_die();
} }
} }
@@ -122,7 +122,7 @@ if(isset($submit))
{ {
$unique = "ADD UNIQUE ($unique)"; $unique = "ADD UNIQUE ($unique)";
$sql_query .= "\nALTER TABLE $table $unique"; $sql_query .= "\nALTER TABLE $table $unique";
$result = mysql_query("ALTER TABLE $db.$table $unique") or mysql_die(); $result = mysql_query("ALTER TABLE ".db_name($db).".$table $unique") or mysql_die();
} }
} }

View File

@@ -23,7 +23,7 @@ if(isset($submit))
$query = stripslashes($query); $query = stripslashes($query);
} }
//optimization fix - 2 May 2001 - Robbat2 //optimization fix - 2 May 2001 - Robbat2
$sql_query = "ALTER TABLE $db.$table CHANGE $query"; $sql_query = "ALTER TABLE ".db_name($db).".$table CHANGE $query";
$result = mysql_query($sql_query) or mysql_die(); $result = mysql_query($sql_query) or mysql_die();
$message = "$strTable $table $strHasBeenAltered"; $message = "$strTable $table $strHasBeenAltered";
include("./tbl_properties.php3"); include("./tbl_properties.php3");
@@ -31,7 +31,7 @@ if(isset($submit))
} }
else else
{ {
$result = mysql_query("SHOW FIELDS FROM $db.$table LIKE '$field'") or mysql_die(); $result = mysql_query("SHOW FIELDS FROM ".db_name($db).".$table LIKE '$field'") or mysql_die();
$num_fields = mysql_num_rows($result); $num_fields = mysql_num_rows($result);
$action = "tbl_alter.php3"; $action = "tbl_alter.php3";
include("./tbl_properties.inc.php3"); include("./tbl_properties.inc.php3");