listo ya funciona mi script, o almenos la parte que me da el numero de registros duplicados, lo que necesito ahora es eliminarlos.
para eso he complementado asi
Código PHP:
Ver original<?php
//conecta a la base de datos
$sql = "SELECT * FROM correos";
echo "Antes de la eliminacion habian <b>".$registros."</b> correos electronicos";
$email = $row1[0];
//calcula duplicados
$duplicado = "SELECT * FROM correos WHERE email LIKE '$email'";
$tot_duplicado = $cant_dup-1;
echo "<p>Existen <b>".$tot_duplicado."</b> Registros duplicados para la direccion de correo <b>".$email."</b>";
}
//elimina duplicados
while ($row2 == $tot_duplicado) {
$elimina = "DELETE FROM correos WHERE email LIKE '$email'";
echo " Se eliminaron <b>".$tot_duplicado."</b> registros";
}
$sql2 = "SELECT * FROM correos";
echo "Despues de la eliminacion quedaron <b>".$registros2."</b> correos electronicos";
?>
pero cuando lo corro se queda pegado y no elimina los datos
he construido este script para eliminar registros duplicados en mysql
Código PHP:
Ver original<?php
//conecta a la base de datos
$sql = "SELECT * FROM correos";
echo "Antes de la eliminacion habian <b>".$registros."</b> correos electronicos";
$email = $row1[0];
//calcula duplicados
$duplicado = "SELECT * FROM correos WHERE email LIKE '$email'";
$tot_duplicado = $cant_dup-1;
echo "<p>Existen <b>".$tot_duplicado."</b> Registros duplicados para la direccion de correo <b>".$email."</b>";
}
//elimina duplicados
while ($row2 == $tot_duplicado) {
$elimina = "DELETE FROM correos WHERE email LIKE '$email'";
echo " Se eliminaron <b>".$tot_duplicado."</b> registros";
}
$sql2 = "SELECT * FROM correos";
echo "Despues de la eliminacion quedaron <b>".$registros2."</b> correos electronicos";
?>
funciona bien hasta el punto de consultar los registros e indicar el numero de duplicados, pero cuando hago la parte para eliminarlos ejecuta el script pero se queda pegado y no hace nada y me da este error Notice: Undefined variable: row2 in /var/www/bd/eliminadup.php on line 31