Foros del Web » Programando para Internet » PHP »

Envio de arrays a Mysql

Estas en el tema de Envio de arrays a Mysql en el foro de PHP en Foros del Web. Buen día El problema es que no me funciona este codigo para mandar los datos de un formulario, que esta hecho a partir de loops ...
  #1 (permalink)  
Antiguo 08/09/2009, 22:12
 
Fecha de Ingreso: mayo-2009
Mensajes: 8
Antigüedad: 15 años, 6 meses
Puntos: 0
Envio de arrays a Mysql

Buen día

El problema es que no me funciona este codigo para mandar los datos de un formulario, que esta hecho a partir de loops en esta página llamo las variables y las ordeno en un array, pero no me funciona,

Código PHP:
$p_id $_POST[p_id];
$option=$_POST[opcion];
$dia=$_POST[Dia];
$mes=$_POST[mes];
$year=$_POST[Year];
$pais=$_POST[Npais];
$ciudad=$_POST[Nciudad];
$menuu=$_POST[opcionm];
$texto =$_POST[texto];
$numero =$_POST[numero];
$array_valores = array( array(''$_SESSION['MM_Username'], $p_id[0], 'personal'$textos[0]) ,
                     array(
''$_SESSION['MM_Username'], $p_id[1], 'personal'$texto[1]) ,
                     array(
''$_SESSION['MM_Username'], $p_id[2], 'personal'$texto[2]) ,
                     array(
''$_SESSION['MM_Username'], $p_id[3], 'personal'$texto[3]) ,
                     array(
''$_SESSION['MM_Username'], $p_id[4], 'personal'$dia) ,
                    array(
''$_SESSION['MM_Username'], $p_id[4], 'personal'$mes) ,
                    array(
''$_SESSION['MM_Username'], $p_id[4], 'personal'$year) ,
                    array(
''$_SESSION['MM_Username'], $p_id[5], 'personal'$pais[0]) ,
                    array(
''$_SESSION['MM_Username'], $p_id[5], 'personal'$ciudad[0]) ,
                    array(
''$_SESSION['MM_Username'], $p_id[6], 'personal'$option[0]) ,
                    array(
''$_SESSION['MM_Username'], $p_id[7], 'personal'$opcionm) ,
                    array(
''$_SESSION['MM_Username'], $p_id[8], 'personal'$pais[1]) ,
                    array(
''$_SESSION['MM_Username'], $p_id[8], 'personal'$ciudad[1]) ,
                    array(
''$_SESSION['MM_Username'], $p_id[9], 'personal'$numero[0]) ,
                    array(
''$_SESSION['MM_Username'], $p_id[9], 'personal'$numero[1]) ,
                    array(
''$_SESSION['MM_Username'], $p_id[9], 'personal'$numero[2]));

$n_registros count($array_valores);
$indice 1;  

foreach(
$array_valores as $valores){
$idSQL $valores[0];  
$mailSQL $valores[1];  
$p_idSQL $valores[2];  
$etapaSQL $valores[3];
$respuestaSQL $valores[4];
}
$insertSQL "INSERT INTO preguntas (id, mail, p_id, etapa, respuesta)
VALUES ($idSQL, $mailSQL, $p_idSQL, $etapaSQL, $respuestaSQL)"
;
mysql_select_db($database_hola$hola);
$Result3 mysql_query($insertSQL$hola) or die(mysql_error());
$indice ++; 
                
 
  
?>  
...... 
gracias por la atención
  #2 (permalink)  
Antiguo 08/09/2009, 23:23
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Envio de arrays a Mysql

El foreach tu lo cierras antes de insertar. Trata colocando el curly braces que cierra despues que haces el insert.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 09/09/2009, 06:55
 
Fecha de Ingreso: mayo-2009
Mensajes: 8
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Envio de arrays a Mysql

Gracias por responder,

ya lo intente y no me funciono
al ejecutarlo me aparece este error, he intentado cambiar el array poniendole claves al primero pero me ararece un error parecido

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 2
  #4 (permalink)  
Antiguo 09/09/2009, 07:03
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Envio de arrays a Mysql

Los valores tienes que encerrarlos entre comillas. Tratalo y me dejas saber pero con la instruccion que te indique del curly braces
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 09/09/2009, 07:39
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 18 años
Puntos: 56
Respuesta: Envio de arrays a Mysql

Código PHP:
VALUES ('".mysql_real_escape_string($idSQL)."',... 
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #6 (permalink)  
Antiguo 09/09/2009, 07:55
 
Fecha de Ingreso: mayo-2009
Mensajes: 8
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Envio de arrays a Mysql

Muchas gracias!!!
Era eso, no habia encerrado los valores del insert entre comllas, muchas gracias.
coloco el codigo por si a alguien mas le sirve

Código PHP:
$p_id $_POST[p_id];
$option=$_POST[opcion];
$dia=$_POST[Dia];
$mes=$_POST[mes];
$year=$_POST[Year];
$pais=$_POST[Npais];
$ciudad=$_POST[Nciudad];
$menuu=$_POST[opcionm];
$texto =$_POST[texto];
$numero =$_POST[numero];
$array_valores = array( array(''$_SESSION['MM_Username'], $p_id[0], 'personal'$textos[0]),
                         array(
''$_SESSION['MM_Username'], $p_id[1], 'personal'$texto[1]) ,
                         array(
''$_SESSION['MM_Username'], $p_id[2], 'personal'$texto[2]) ,
                         array(
''$_SESSION['MM_Username'], $p_id[3], 'personal'$texto[3]) ,
                         array(
''$_SESSION['MM_Username'], $p_id[4], 'personal'$dia) ,
                        array(
''$_SESSION['MM_Username'], $p_id[4], 'personal'$mes) ,
                        array(
''$_SESSION['MM_Username'], $p_id[4], 'personal'$year) ,
                        array(
''$_SESSION['MM_Username'], $p_id[5], 'personal'$pais[0]) ,
                        array(
''$_SESSION['MM_Username'], $p_id[5], 'personal'$ciudad[0]) ,
                        array(
''$_SESSION['MM_Username'], $p_id[6], 'personal'$opcion[0]) ,
                        array(
''$_SESSION['MM_Username'], $p_id[7], 'personal'$opcionm) ,
                        array(
''$_SESSION['MM_Username'], $p_id[8], 'personal'$pais[1]) ,
                        array(
''$_SESSION['MM_Username'], $p_id[8], 'personal'$ciudad[1]) ,
                        array(
''$_SESSION['MM_Username'], $p_id[9], 'personal'$numero[0]) ,
                        array(
''$_SESSION['MM_Username'], $p_id[9], 'personal'$numero[1]) ,
                        array(
''$_SESSION['MM_Username'], $p_id[9], 'personal'$numero[2]));

$n_registros count($array_valores);
$indice 1;  

foreach(
$array_valores as $valores){
$idSQL $valores[0];  
$mailSQL $valores[1];  
$p_idSQL $valores[2];  
$etapaSQL $valores[3];
$respuestaSQL $valores[4];

$insertSQL "INSERT INTO respuestas (id, mail, p_id, etapa, respuesta)
VALUES ('$idSQL', '$mailSQL', '$p_idSQL', '$etapaSQL', '$respuestaSQL')"
;
mysql_select_db($database_hola$hola);
$Result3 mysql_query($insertSQL$hola) or die(mysql_error());
     if(
$indice $n_registros){  $insertSQL .=" , "; }  
    
$indice ++; 
    

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 12:07.