Foros del Web » Programando para Internet » PHP »

Insertar array en base de datos con bucle

Estas en el tema de Insertar array en base de datos con bucle en el foro de PHP en Foros del Web. Hola! A ver, nunca me la llevé bien con los arrays (y no porque no estudiara!) tengo un formulario que me suelta la variable $img[1], ...
  #1 (permalink)  
Antiguo 11/09/2002, 03:36
Avatar de Wakkos
Colaborador
 
Fecha de Ingreso: octubre-2001
Ubicación: (cerca)
Mensajes: 1.795
Antigüedad: 16 años, 2 meses
Puntos: 59
Insertar array en base de datos con bucle

Hola!
A ver, nunca me la llevé bien con los arrays (y no porque no estudiara!) tengo un formulario que me suelta la variable $img[1], $img[2], $img[3], ...$img[n]

Luego voy y hago un bucle:
for ($i = 1;;$i++) {
echo $img[$i];
}

Todo va super bien! (dentro del bucle no hay eso, pero funciona bien lo que tengo, así sería fuera de tema)

Ahora, tengo una tabla con unos campos independientes (número de usuario, etc) y 20 columnas para 20 imagenes (solo el nombre) esas imágenes son la variable $img[] que vienen de un formulario donde el usuario las sube al FTP.

El problema que tengo es meter esas 20 imagenes almacenadas en la Base de datos.
tengo algo así:
Código:
mysql_query("insert into eyn_imagenes (img1,img2,img3,img4,img5,img6,img7,img8,img9,img10,img11,img12,img13,img14,img15,img16,img17,img18,img19,img20,) values ('$img_name[1]','$img_name[2]','$img_name[3]','$img_name[4]','$img_name[5]','$img_name[6]','$img_name[7]','$img_name[8]','$img_name[9]','$img_name[10]','$img_name[11]','$img_name[12]','$img_name[13]','$img_name[14]','$img_name[15]','$img_name[16]','$img_name[17]','$img_name[18]','$img_name[19]','$img_name[20]')",$link);
Pero vamos, que no funciona!

<div style="color:#000;font-family:Verdana;font-size:10px;">Wakkos<br><a href="http://www.artreves.com/wakk/clickcount/clic.php3?url=www.artreves.com/wakk/index.php" style="font-size:9px;color:#e1470b;">follow the white rabbit</a></div>
  #2 (permalink)  
Antiguo 11/09/2002, 03:57
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Re: Insertar array en base de datos con bucle

Hola,

1º Normalmente, los arrays en PHP empiezan desde el indice 0, es decir, si tienes un array t con 20 elementos, el primer elemento seria t[0] y el ultimo t[19].

2º ¿Que quieres decir con &quot;no funciona&quot;? ¿Te da un mensaje de error? ¿Simplemente miras la base de datos y ves que no te insertado los valores? ¿Sabes si la funcion mysql_query() se ha ejecutado correctamente? Si no sabes contestar esta ultima pregunta, haz lo siguiente: recoge el valor devuelto por mysql_query() y comprueba si es valido o no; si no es valido, muestra el error que te dice mysql con mysql_error(). O tambien echo la cadena que usas como consulta.

Espero haberte ayudado a concretar mas tu duda.


Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 11/09/2002, 04:28
Avatar de Wakkos
Colaborador
 
Fecha de Ingreso: octubre-2001
Ubicación: (cerca)
Mensajes: 1.795
Antigüedad: 16 años, 2 meses
Puntos: 59
Re: Insertar array en base de datos con bucle

Oh! claro!! no se ejecuta el query mysql:
Código:
Warning: mysql_query(): 1 is not a valid MySQL-Link resource in /inlander/sites/parejasliberales-com/web/htdocs/eyn/subir/test.php on line 93
Claro que la línea 93 es donde está el código que coloqué ne el primer post...

<div style="color:#000;font-family:Verdana;font-size:10px;">Wakkos<br><a href="http://www.artreves.com/wakk/clickcount/clic.php3?url=www.artreves.com/wakk/index.php" style="font-size:9px;color:#e1470b;">follow the white rabbit</a></div>
  #4 (permalink)  
Antiguo 11/09/2002, 06:00
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Re: Insertar array en base de datos con bucle

Hola de nuevo,

Creo que esto ya lo he contestado en algun otro post, pero sere bueno y lo volvere a repetir.

LEE EL MENSAJE DE ERROR. Te dice que en la funcion mysql_query() 1 no es un recurso MySQL-link valido. Te vas al manual y miras la funcion mysql_query(). Veras que el segundo parametro es del tipo recurso link. De esto deduces que el valor que le has pasado como segundo parametro es erroneo(en tu caso $link). Ahora lo que tienes que investigar es la ultima linea donde asignas el valor a $link antes del mysql_query(). ahi es donde esta el error.

Como ves estoy siguiendo el error desde donde PHP lo detecta hasta donde esta la causa. Esta puede estar en la linea anterior o en otro fichero que has incluido.

Como ya me estoy empezando a hartar de contestar a este tipo de preguntas, estoy elaborando un pequeño articulo/tutorial con unos cuantos trucos que enseñen a localizar e identificar este tipo de errores.

Suerte con la caza.


Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 11/09/2002, 07:15
Avatar de Wakkos
Colaborador
 
Fecha de Ingreso: octubre-2001
Ubicación: (cerca)
Mensajes: 1.795
Antigüedad: 16 años, 2 meses
Puntos: 59
Re: Insertar array en base de datos con bucle

Entendido!!
Espero el artículo!
Error resuelto...
cambio.

<div style="color:#000;font-family:Verdana;font-size:10px;">Wakkos<br><a href="http://www.artreves.com/wakk/clickcount/clic.php3?url=www.artreves.com/wakk/index.php" style="font-size:9px;color:#e1470b;">follow the white rabbit</a></div>
  #6 (permalink)  
Antiguo 11/09/2002, 13:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Re: Insertar array en base de datos con bucle

Josemi .. que poca paciencia tienes xDDDDDD. Yo algunas preguntas ya las &quot;adivino&quot; ... y si pudiera hacer alguna &quot;consulta&quot; por mis mensajes que respondo verias que no son muy variadas q digamos ... siemmmmmppreeee lo mismo .. si no son errores de parse son de tecnicas basicas ... :P

Otro detalle ...

Los arrays no necesariamente comienzan por 0 .. (por defecto si .. claro).

ejemplos:
$array=array(1=&gt;&quot;algo&quot;,&quot;otro&quo t;,&quot;pepe&quot;,&quot;juan&quot;);

Ahi ya iniciamos el indice desde 1 ...

eso si . si hacemos algo asi

Bucle inicio
$array[]=valor;
repetir;

El indice por defecto es 0 en el array.

Un saludo,
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 00:33.