En el desarrollo de aplicaciones PHP , es posible que necesite mover datos de una tabla MySQL a otra, como cuando se desea instalar una actualización que requiere campos de datos adicionales . Para ello , puede utilizar los métodos incorporados en la extensión PHP MySQLi para consultar los datos de la tabla de origen y la inserta en la tabla de destino . Crear una declaración preparada para insertar los datos en la tabla de destino , se unen los resultados de la consulta que extrae datos forman la tabla de origen a la sentencia preparada y ejecutar la sentencia preparada para cada registro de la tabla de origen. Instrucciones
1
Utilice un editor HTML o Bloc de notas para crear un nuevo archivo de programa PHP. Comienza el programa con la apertura de una conexión con el servidor de base de datos y la selección de la base de datos que contiene las tablas para el que desea mover los datos . Compruebe el estado de error después de conectar para asegurarse de que se ha realizado correctamente . Tipo:
< php
$ db = new mysqli ( 'localhost ' , 'username' , ' password' , ' base de datos' ) ;
if ( mysqli_connect_errno ? ()) die ( mysqli_connect_error ());
2
inicializar una matriz para contener los datos de la tabla de origen que desea pasar a la tabla de destino. Crear una cadena de consulta que se utilizará para extraer los datos de la tabla de origen. Tipo:
$ row = array ();
$ tabla1 = "SELECT id, nombre, correo electrónico, teléfono FROM usuarios ORDEN EN id" ;
3
Crear una nueva declaración preparada con el comando MySQL para insertar datos en la tabla de destino . Utilice signos de interrogación para indicar los valores que se insertan y se unen a los miembros de la matriz que ha creado utilizando el método " bind_param " . Tipo:
$ stmt = $ db -> prepare ( "INSERT INTO newusers (id , nombre, correo electrónico, teléfono ) VALUES ( , ,,) ? ? ? ? " ;
$ stmt -> bind_param ( ' ISS ' , $ row [' id' ] , $ row [' name'] , $ row [' email'] , $ row [' teléfono ']);
4 .
Issue la consulta para seleccionar los datos de la tabla de origen almacenar los resultados en la matriz asociativa que declaró anteriormente y crear un bucle que recupera cada registro hasta el final de la tabla Tipo : .
$ result = $ db -> query ($ tabla 1) ;
while ( $ row = $ result -> fetch_assoc ()) {
5
ejecuta la sentencia preparada para insertar los datos . . . de la tabla de origen a la tabla de destino Asegúrese de que la inserción se ha realizado correctamente mediante la evaluación de la propiedad " affected_rows " de la sentencia preparada Cierre la declaración preparada antes de comenzar un nuevo Tipo:
$ stmt -> execute () ;
if ($ stmt -> affected_rows = 1 ) {
echo " pero no los datos introducidos por el usuario con id = $ row [' id' ]" ; < br >
}
$ stmt -> close () ; }
6
cierre la base de datos cuando se completa el procedimiento Guardar el programa PHP. . Ejecutar para asegurarse de que se mueve correctamente los datos de una tabla a otra Tipo: . ?
$ db -> close () ;
>