Foros del Web » Programando para Internet » PHP »

Array PHP a Campo MySQL

Estas en el tema de Array PHP a Campo MySQL en el foro de PHP en Foros del Web. Buenas Tardes: Tengo un array para insertarlo en un campo de una tabla MySQL y viceversa, o sea leer la tabla y pasarlo al array ...
  #1 (permalink)  
Antiguo 15/03/2017, 15:44
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires
Mensajes: 413
Antigüedad: 15 años
Puntos: 3
Array PHP a Campo MySQL

Buenas Tardes:
Tengo un array para insertarlo en un campo de una tabla MySQL y viceversa, o sea leer la tabla y pasarlo al array

El código es el siguiente y no logro que funcione:
$array[0]='foto0.jpg';
$array[1]='foto1.jpg';
$array[2]='foto2.jpg';
$consulta=mysql_query("INSERT INTO tabla (campo) VALUE('$array')");

No graba nada.
Agradecido si puedenayudarme.
  #2 (permalink)  
Antiguo 15/03/2017, 16:13
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 5 meses
Puntos: 20
Respuesta: Array PHP a Campo MySQL

Hola amigo,
la razón es porque estás intentando insertar un array directamente, cosa que no puedes hacer, debes de armar tu query con cada elemento de tu arreglo, por ejemplo:

Código PHP:
Ver original
  1. $consulta=mysql_query("INSERT INTO tabla (campo) VALUE('".$array[0]."'");


Pero hay algunas formas de hacer lo que deseas, entre ellas

1.- Hacer un insert para cada elemento del arreglo
2.- Hacer un insert multiple
[ INSERT INTO tabla (campo) VALUE(valor1),(valor2),....(valorn) ]
3.- Concatenar cada elemento de tu arreglo en una cadena e insertarlo

Espero haberte dado una idea,
Saludos!
  #3 (permalink)  
Antiguo 15/03/2017, 16:27
Avatar de aviweb2015  
Fecha de Ingreso: abril-2016
Ubicación: venezuela
Mensajes: 215
Antigüedad: 8 años, 1 mes
Puntos: 1
Respuesta: Array PHP a Campo MySQL

te paso un ejemplo: debes adaptarlo a lo que necesitas

Código PHP:
Ver original
  1. for ($i = 0; $i < count($idinscripcion_proyectos); $i++) {
  2.     foreach ($nombres as $key => $nombre) {
  3.  
  4.  if (mysql_query("INSERT INTO inscripcion_alumnos (id,idinscripcion_proyectos,cedula,nombres,apellidos) VALUES
  5.    ('$id','$last_id','$cedula[$key]','$nombres[$key]','$apellidos[$key]')",$link));
  6.  
  7.  
  8. }
  9. }
__________________
yoclens avilan
  #4 (permalink)  
Antiguo 15/03/2017, 16:29
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.135
Antigüedad: 13 años, 1 mes
Puntos: 170
Respuesta: Array PHP a Campo MySQL

Si lo que necesitas es guardar en 1 sola fila todas las imagenes(1 solo registro) puedes pasar el array a string con implode() definiendo un separador: coma, punto, espacio, etc.... luego si necesitas trabajarlo como array lo vuelves a convertir en array con explode()

saludos!
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #5 (permalink)  
Antiguo 18/03/2017, 12:02
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Array PHP a Campo MySQL

Si deseas insertar el conjunto de rutas en un solo registro, solo debes concatenar todos los valores, usando la función implode(), con el elemento que gustes, como puede ser una coma:
Código PHP:
Ver original
  1. $fotos = "'" . implode(', ', $array) . "'";
  2. $consulta = mysql_query("INSERT INTO tabla (campo) VALUES $fotos");

Resultado:
Código MySQL:
Ver original
  1. INSERT INTO tabla (campo) VALUES ('foto0.jpg, foto1.jpg, foto2.jpg')

Ahora bien, si deseas guardarlos en registros diferentes:
Código PHP:
Ver original
  1. $fotos = "('" . implode("'), ('", $array) . "')";
  2. $consulta = mysql_query("INSERT INTO tabla (campo) VALUES $fotos");

Resultado:
Código MySQL:
Ver original
  1. INSERT INTO tabla (campo) VALUES ('foto0.jpg'), ('foto1.jpg'), ('foto2.jpg')

La segunda forma sería la más limpia y útil en caso desees asociar cada ruta a un registro en particular, como una persona de la tabla "personas", para lo cual necesitarías concatenar el id de la persona. Para casos de visualización, edición y eliminación de las fotos de manera independiente, te sería muy útil trabajar así.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 18/03/2017 a las 12:52 Razón: Recomendación

Etiquetas: campo, mysql
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 05:47.