Foros del Web » Programando para Internet » PHP »

agregar table_prefix...

Estas en el tema de agregar table_prefix... en el foro de PHP en Foros del Web. Hola, A ver si me pueden ayudar, tengo un foro phpbb funcionando en la web, una BD llamada "test" dentro de esa base estan todas ...
  #1 (permalink)  
Antiguo 16/03/2004, 22:39
 
Fecha de Ingreso: enero-2002
Ubicación: Mvdeo
Mensajes: 127
Antigüedad: 22 años, 3 meses
Puntos: 0
Mensaje agregar table_prefix...

Hola,

A ver si me pueden ayudar, tengo un foro phpbb funcionando en la web, una BD llamada "test" dentro de esa base estan todas las tablas de la siguiente manera:

TEST
- tabla1
- tabla 2

ahora, lo que quiero hacer es agregarle a las tablas un prefijo para que queden de la siguiente manera

TEST
- phpbb_tabla1
- phpbb_tabla 2

sin que pierdan sus datos, esto es posible??

desde ya muchas gracias a todos por su tiempo.

salu dos
  #2 (permalink)  
Antiguo 17/03/2004, 04:52
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 21 años
Puntos: 1
Si claro que se puede hacer,

te paso un codigo para hacerlo

Código PHP:
    $conn mysql_connect($CONFIG['dbserver'], $CONFIG['dbuser'], $CONFIG['dbpass']) or die (mysql_error());
    
mysql_select_db($CONFIG['dbname']);
            
   
   
$prefijo "phpbb_";
   
   
$result_tablas mysql_list_tables($CONFIG['dbname']) or die (mysql_error());  
   while (
$row mysql_fetch_row($result_tablas)) {   
        
$sql "ALTER TABLE `".$row[0]."` RENAME `".$prefijo.$row[0]."` '"
       
mysql_query($sql) or die (mysql_error());    
        
    }
// FIN WHILE
   
   
mysql_close($conn
Ten en cuenta que este script te cambia el nombre de todas las tablas de la BDD, osea que si tienes otras que no sean de phpbb pues tb las cambiara

si es asi quizas mejor hacerlo una a una o bien con el MyAdmin
o creando un array antes con el nombre de las tablas que vas a modificar

espero que te sirva

Un saludo

Última edición por Jordi1; 17/03/2004 a las 04:56
  #3 (permalink)  
Antiguo 17/03/2004, 09:34
 
Fecha de Ingreso: enero-2002
Ubicación: Mvdeo
Mensajes: 127
Antigüedad: 22 años, 3 meses
Puntos: 0
Gracias Jordi1 por tu respuesta.
No se bien donde instertar el codigo que hiciste, hice un archivo .php con tu codigo adentro, lo guarde en el directorio donde esta el foro lo ejecuto y dice "No Database Selected"...necesito hacer alguna modificacion extra??

Gracias.
  #4 (permalink)  
Antiguo 17/03/2004, 09:51
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 21 años
Puntos: 1
si te fijas $CONFIG['dbname'] = nombre de la base de datos

, hay un arrary que tienes tu de modificar para darle los valores adecuados de tu BDD, el usuario, el pass, el server (normalmente localhost) y el combre de la BDD , y este script pues tal como hiciste, crear un archivo y ejecutarlo

Saludos
  #5 (permalink)  
Antiguo 17/03/2004, 10:22
 
Fecha de Ingreso: enero-2002
Ubicación: Mvdeo
Mensajes: 127
Antigüedad: 22 años, 3 meses
Puntos: 0
cambie lo que me dijistes pero sigue igual , "No database selected".
Mi archivo .php quedo de la siguiente forma...lo estoy ejecutando en el localhost...
------------

<?php
$conn = mysql_connect($CONFIG['localhost'], $CONFIG['root'], $CONFIG['mypassderootaqui']) or die (mysql_error());
mysql_select_db($CONFIG['ototal']);


$prefijo = "phpbb_";

$result_tablas = mysql_list_tables($CONFIG['ototal']) or die (mysql_error());
while ($row = mysql_fetch_row($result_tablas)) {
$sql = "ALTER TABLE `".$row[0]."` RENAME `".$prefijo.$row[0]."` '";
mysql_query($sql) or die (mysql_error());

}// FIN WHILE

mysql_close($conn)
?>

---
  #6 (permalink)  
Antiguo 17/03/2004, 10:29
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 21 años
Puntos: 1
pos no sabria que decirte,

estasa seguro que

$CONFIG['ototal'] = "nombre base de datos ";

??
  #7 (permalink)  
Antiguo 17/03/2004, 10:34
 
Fecha de Ingreso: enero-2002
Ubicación: Mvdeo
Mensajes: 127
Antigüedad: 22 años, 3 meses
Puntos: 0
si, es ototal :(
Hay alguna otra forma de hacer esto?, manualmente desde el phpmyadmin o desde otro lugar?

Gracias por todo.
  #8 (permalink)  
Antiguo 17/03/2004, 10:38
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 21 años
Puntos: 1
si claro desde el phpmyadmin, se puede hacer de una en una sin problemas, se hace seleccionando la tabla y clicando en operaciones.

En cuestion de arriba yo me pregunto que nombre tiene tu base de datos??

salduos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:53.