Está usted en Indice > Construcción > Lenguajes > PHP > Lecciones y Paso a Paso > Reemplazar Texto en la base de datos con PHP
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Reemplazar Texto en la base de datos con PHP

Vamos a imaginar que tenemos un base de datos enorme, y que queremos substituir una palabra por otra en todas las entradas, realizar esta tarea manualmente sería una locura, pero gracias a la función REPLACE() de MySQL, podemos realizar esta tarea sin muchas complicaciones.

La esmentada función, tiene la propiedad de devolver los campos de la tabla indicada en el primer parámetro con todas las apariciones del segundo parámetro substituidas por el tercero.

Utilizando esta función podremos hacer una consulta cómo la siguiente que reemplazará a por A en todas las entradas:

<?php
// Substituimos aa por A en el campo
// 'campo' de la tabla 'tabla'
$sql = "UPDATE tabla SET campo = REPLACE" ;
$sql .= " (campo,'a','A')" ;
?>

Pero esta consulta se puede mejorar un poco, porque tal y cómo lo hacemos ahora, estamos trabajando en todas las entradas incluso en las que no existen ocurréncias de a , para evitarlo haremos:

<?php
// Substituimos aa por A en el campo
// 'campo' de la tabla 'tabla'
$sql = "UPDATE tabla SET campo = REPLACE" ;
$sql .= " (campo,'a','A') WHERE campo" ;
$sql .= " LIKE '%a%'" ;
?>

Ya solo nos falta añadir las funciones de PHP para mysql y todo estará listo:

<?php
// Conectamos a la base de datos
$db =@ mysql_connect ( 'localhost' , 'root' , '' );
mysql_select_db ( "db1" , $db );
// Substituimos aa por A en el campo
// 'campo' de la tabla 'tabla'
$sql = "UPDATE tabla SET campo = REPLACE" ;
$sql .= " (campo,'a','A') WHERE campo" ;
$sql .= " LIKE '%a%'" ;
// Ejecutamos la consulta
$query = mysql_query ( $sql , $db );
// Comprovamos el resultado
$error = mysql_error ();
if( $error )echo 'Hubo un error en la consulta' ;
else {
$filas = mysql_affected_rows ();
   echo 'Filas afectadas: ' . $filas ;
}
?>

Pero deberemos tener mucho cuidado con usar este código, es posible que reemplacemos algo que no debemos y no es fácil recuperar los datos si no hemos guardado una cópia.

Artículo por cortesía de Eloi de San Martín
www.programacionweb.net

 



Usuarios que han visto este tema también han visto...

- Editar y Borrar datos en MySQL con PHP
- Nube de etiquetas con enlaces
- Nubes de etiquetas en PHP
- Funciones Relacionadas con el protocolo FTP
- Paginar los resultados de una consulta PHP


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad






Cursos de Community Manager

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 24-05-2012 a las 05:33:27