Hacer un insert despues de un select en mysql

¿Cómo puedo insertar un registro con los valores obtenidos de un select? Ejemplo:

require 'conexion.php'

$result = mysql_query("SELECT nombre,apellido FROM usuarios WHERE id = 1");
if (!$result) {
echo 'Could not run query: ' . Mysql_error();
exit;
}
$row = mysql_fetch_row($result);

$variable1 = $row[0];
$variable2 = $row[1];

$sql = "INSERT INTO acceso (nombre, apellido) VALUES('$variable1','$variable2')";
$result = $mysqli->query($sql);

Este codigo no funciona pero ojala ayude a explicar la idea

2 Respuestas

Respuesta
1

¿Por qué no funciona el código que pusiste? A mi me parece correcto...

De cualquier forma, algo que podrías hacer es el insert directamente:

INSERT INTO acceso (nombre, apellido)
SELECT nombre, apellido FROM usuarios WHERE id = 1;

¡ Muchas Gracias! 

Si, había pensado en hacerlo de esta forma pero como quiero usar esas variables para otros procedimientos por eso lo hice así, también se me hace raro que no funcione como está de todas formas gracias por la recomendación, seguiré trabajando en ello.

Respuesta
1

No es necesario que guardes el resultado del select en variables, puedes hacer un :

insert into.......

select.............

¡ Muchas Gracias! 

La razón para guardar el resultado en variables es para poder manipular esas variables para otras funciones.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas