Foros del Web » Programando para Internet » PHP »

no he podido guardar el resultado de un array en la tabla SQL

Estas en el tema de no he podido guardar el resultado de un array en la tabla SQL en el foro de PHP en Foros del Web. Hola a todos, no he podido guardar el resultado de un array en la tabla SQL Quiero guardar especialmente el insert que va en $consultas ...
  #1 (permalink)  
Antiguo 10/12/2012, 09:28
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 12 años, 5 meses
Puntos: 4
Información no he podido guardar el resultado de un array en la tabla SQL

Hola a todos, no he podido guardar el resultado de un array en la tabla SQL

Quiero guardar especialmente el insert que va en $consultas que recoge las variables de $consulta, como debo de hace?

Código PHP:
Ver original
  1. function Conectarse() //Función para conectarse a la BD
  2. {
  3.        if (!($link=mysql_connect("localhost","root","vertrigo")))  { //Cambia estos datos
  4.            echo "Error conectando a la base de datos.";
  5.            exit();
  6.        }
  7.         if (!mysql_select_db("rips",$link)) {
  8.             echo "Error seleccionando la base de datos.";
  9.            exit();
  10.        }
  11.        return $link;
  12. }
  13.  
  14. $consulta=("SELECT nombres_paciente,edad,
  15.    SUBSTRING_INDEX( nombres_paciente, ' ', 1 ) AS primerNombre,
  16.    SUBSTRING_INDEX(SUBSTRING_INDEX( nombres_paciente, ' ', 2 ),' ',-1) AS segundoNombre,
  17.    SUBSTRING_INDEX(SUBSTRING_INDEX( nombres_paciente, ' ', -2 ),' ',1) AS
  18.  
  19. primerApellido,
  20.    SUBSTRING_INDEX( nombres_paciente, ' ', -1 ) AS segundoApellido,    
  21.           mid(edad, 1, instr(edad, ' ') -1) AS edad,
  22.           mid(mid(edad, instr(edad, ' ') + 1),
  23.              1,instr(mid(edad, instr(edad, ' ') + 1), ' ')-1) AS tiempo          
  24. FROM rips_sura");
  25. while ($f=mysql_fetch_array($consulta)) // Con este arreglo lleno la lista /Menu con los valores de la tabla tipo_usuario
  26.             {  
  27.                 $primer_nombre=$f['primerNombre'];
  28.                 $segundo_nombre=$f['segundoNombre'];
  29.                 $primer_apellido=$f['primerApellido'];
  30.                 $segundo_apellido=$f['segundoApellido'];
  31.                 $edad=$f['edad'];
  32.                 $tiempo=$f['tiempo'];
  33.                 echo $primer_nombre;
  34.                 echo $segundo_nombre;
  35.                 echo $primer_apellido;
  36.                 echo $segundo_apellido;
  37.                 echo $tiempo;
  38.                 echo $edad;
  39.                 $consultas=("INSERT INTO datos_ordenados(nombre_1,nombre_2,apellido_1,apellido_2,edad,unidad_edad) VALUES   ('$primer_nombre','segundo_nombre','$primer_apellido','$segundo_apellido','$edad','$tiempo'");
  40.            
  41.             }
  42.            
  43.      $enlace=Conectarse();
  44.      $result=mysql_query($consulta, $enlace); //Aquí está la clave, se ejecuta con MySQL la cadena del insert formada
  45.      $results=mysql_query($consultas, $enlace);
  #2 (permalink)  
Antiguo 10/12/2012, 09:31
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: no he podido guardar el resultado de un array en la tabla SQL

No te entendí, si lo que quieres es hacer el INSERT a cada paso del bucle debes colocar la llamada a mysql_query dentro de este.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 10/12/2012, 09:51
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 12 años, 5 meses
Puntos: 4
Respuesta: no he podido guardar el resultado de un array en la tabla SQL

ya lo hice asi, y continua sin guardar nada en la bd

Código PHP:
Ver original
  1. $consultas=mysql_query("INSERT INTO datos_ordenados(nombre_1,nombre_2,apellido_1,apellido_2,edad,unidad_edad) VALUES    ('$primer_nombre','$segundo_nombre','$primer_apellido','$segundo_apellido','$edad','$tiempo'");
  #4 (permalink)  
Antiguo 10/12/2012, 10:40
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: no he podido guardar el resultado de un array en la tabla SQL

Y es que tampoco estás haciendo la consulta SELECT en la línea 14. Prueba eso, luego ve con mysql_error si las consultas están teniendo algún problema.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 10/12/2012, 10:48
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 12 años, 5 meses
Puntos: 4
Respuesta: no he podido guardar el resultado de un array en la tabla SQL

Hola david

la consulta se esta haciendo correctamente porque los echo Me imprimen en pantalla correctamente con toda la informacion resultante del select, adicional hago esa msma consunta desde el phpmyadmin y me arroja el resultado correctamente
  #6 (permalink)  
Antiguo 10/12/2012, 10:50
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: no he podido guardar el resultado de un array en la tabla SQL

Revisa usando mysql_error si al ejecutar el INSERT tiene algún problema.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 10/12/2012, 11:32
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 12 años, 5 meses
Puntos: 4
Respuesta: no he podido guardar el resultado de un array en la tabla SQL

saca esto Fallo en la insercion de registro en la Base de Datos: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1, pero no se que estara mal, es tan complicado guardar en una tabla el resultado de un select?
  #8 (permalink)  
Antiguo 10/12/2012, 11:35
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: no he podido guardar el resultado de un array en la tabla SQL

Te falta el paréntesis de cierre en el comando INSERT:
INSERT INTO ... (...) VALUES (...)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 10/12/2012, 11:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: no he podido guardar el resultado de un array en la tabla SQL

Pues yo veo que a tu query INSERT le falta un parentesís al final del cierre en el VALUES ().
  #10 (permalink)  
Antiguo 10/12/2012, 11:39
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 12 años, 5 meses
Puntos: 4
Respuesta: no he podido guardar el resultado de un array en la tabla SQL

lo tengo asi, con los parentesis bien, pero no almacena nada...:

Código PHP:
Ver original
  1. mysql_query("INSERT INTO datos_ordenados(nombre_1,nombre_2,apellido_1,apellido_2,edad,unidad_edad) VALUES   ('".$f[2]."','".$f[3]."','".$f[4]."','".$f[5]."','".$f[6]."','".$f[7]."'");
  #11 (permalink)  
Antiguo 10/12/2012, 11:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: no he podido guardar el resultado de un array en la tabla SQL

Te sigue faltando el parentesis de cierre, debe de ser:
INSERT INTO (campos) VALUES (valores) <- Este es el que te falta.
  #12 (permalink)  
Antiguo 10/12/2012, 11:46
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 12 años, 5 meses
Puntos: 4
Respuesta: no he podido guardar el resultado de un array en la tabla SQL

oigan, SI MUCHACHOS como 3 horas y tenian RAZON, mi corta vista no detallaba ese error, MUCHAS GRACIAS

Etiquetas: arrays
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 02:07.