Reputation: 1856
After reviewing different solutions to one same question, here I come with a new scenario, Mis cript only uploads one of the various images sent via HTML form and throws an error on mysql query.
$imgn = $_FILES['imgn']['name']; # Definimnos los valores
$galnom = $_POST['galnom']; # para extracción
for($i =0; $i < count($_FILES['imgn']['name']); $i++){ # creamos el loop inicial utilizado la variable $i
# Procesar la imagen ---------------------------------------------------------------------
# Propiedad de Samuel Ramírez S...
# smctotal.com
# Este script no puede redistribuirse sin una constancia de autorización por parte de Samuel Ramírez S. RASS650104P35
$imaggen = $_FILES['imgn']['name'][$i]; # Archivo original
$tempral = $_FILES["imgn"]["tmp_name"][$i]; # Archivo en la carpeta temporal
$formato = $_FILES["imgn"]["type"][$i]; # Analizamos el tipo de archivo image/jpeg
$tamanio = $_FILES["imgn"]["size"][$i]; # Tamaño de la imagen
$divisor = explode(".",$imaggen); # Separamos el nombre de la extensión
$xtnsion = end($divisor); # Extensión también se puede imprimir $divisor[1];
$nombbre = $divisor[0]; # Nombre del archivo
round(($tamanio/1000),0).' Kilobytes'; # Formateo del peso del archivo
$imgn = round(microtime(true)).'.'.$xtnsion; # Se establece el nuevo nombre del archivo
move_uploaded_file($tempral, "../../img/sect/".$imgn); # Se guarda el archivo con su nuevo nombre.
# Hasta aquí ya subimos el archivo
# Enseguida lo abrimos para proceso ------------------------------------------------------
$img = imagecreatefromjpeg("../../img/sect/".$imgn); # Abrimos la imagen para proceso
$anchoActual = imagesx($img); # Obtenemos el ancho original
$alttoActual = imagesy($img); # Obtenemos la altura original
# --- CD Imagen grande -------------------------------------------------------------------
$nuevo_ancho = 600;
$factor = $nuevo_ancho / $anchoActual; # Proporción alto anterior y el nuevo, aplicar el factor a la altura
$nuevo_allto = $alttoActual * $factor;
# --- FD Imagen grande
# --- CD Thumbnail -----------------------------------------------------------------------
$thumb_ancho = 100;
$facthmb = $thumb_ancho / $anchoActual; # Proporción alto anterior y el nuevo, aplicar el factor a la altura
$alto_thumb = $alttoActual * $facthmb;
# --- FD Thumbnail -----------------------------------------------------------------------
# --- CD Imagen grande -------------------------------------------------------------------
$imagenFinal = imagecreatetruecolor($nuevo_ancho,$nuevo_allto);
imagecopyresampled($imagenFinal, $img, 0, 0, 0, 1, $nuevo_ancho, $nuevo_allto, $anchoActual, $alttoActual);
imagejpeg($imagenFinal, "../../gal/grnd/".$imgn, 85); # Comprimimos y salvamos la imagen
# --- FD Imagen grande -------------------------------------------------------------------
# --- CD Imagen grande -------------------------------------------------------------------
$thumbFinal = imagecreatetruecolor($thumb_ancho,$alto_thumb);
imagecopyresampled($thumbFinal, $img, 0, 0, 0, 1, $thumb_ancho, $alto_thumb, $anchoActual, $alttoActual);
imagejpeg($thumbFinal, "../../gal/thmb/".$imgn, 85); # Comprimimos y salvamos la imagen
# --- FD Imagen grande -------------------------------------------------------------------
# Fin del proceso de la imagen -----------------------------------------------------------
$q1[$i]= mysqli_query($cnxn,"INSERT INTO galerias (galnom,imgn) VALUES ('$galnom[$i]','$imgn[$i]'") or die(mysqli_error($cnxn));
Can someone please point me where is it that I'm failing?
Thanks in advance.
Upvotes: 1
Views: 113
Reputation: 6896
You'll missing the brackets for mysqli_query
:
$q1[$i]= mysqli_query($cnxn,"INSERT INTO galerias (galnom,imgn) VALUES ('$galnom[$i]','$imgn[$i]')") or die(mysqli_error($cnxn));
1st Part
:
mysqli_query($cnxn,"INSERT INTO galerias (galnom,imgn) VALUES ('$galnom[$i]','$imgn[$i]')")
2nd Part
:
or die(mysqli_error($cnxn))
Upvotes: 0
Reputation: 4501
Insert query syntax is wrong: Replace with below:
$q1[$i]= mysqli_query($cnxn,"INSERT INTO galerias (galnom,imgn) VALUES ('$galnom[$i]','$imgn[$i]')") or die(mysqli_error($cnxn));
Upvotes: 2
Reputation: 625
sql should be
$q1[$i]= mysqli_query($cnxn,"INSERT INTO galerias (galnom,imgn) VALUES ('".$galnom[$i]."','".$imgn[$i]."')") or die(mysqli_error($cnxn));
Upvotes: 2
Reputation: 1523
Try to edit your query :
$q1[$i]= mysqli_query($cnxn,"INSERT INTO galerias (galnom,imgn) VALUES ('$galnom[$i]','$imgn[$i]'") or die(mysqli_error($cnxn));
With this :
$q1= mysqli_query($cnxn,"INSERT INTO galerias (galnom,imgn) VALUES ('$galnom[$i]','$imgn[$i]')") or die(mysqli_error($cnxn));
Upvotes: 2
Reputation: 16117
You are missing the ending bracket of mysqli_query()
This:
$q1[$i]= mysqli_query($cnxn,"
INSERT INTO galerias (galnom,imgn)
VALUES ('$galnom[$i]','$imgn[$i]'") // error in this line
or die(mysqli_error($cnxn));
Should be:
$q1[$i]= mysqli_query($cnxn,"
INSERT INTO galerias (galnom,imgn)
VALUES ('$galnom[$i]','$imgn[$i]')")
or die(mysqli_error($cnxn));
Upvotes: 2
Reputation: 1050
try this
$q1[$i]= mysqli_query($cnxn,"INSERT INTO galerias (galnom,imgn) VALUES ('$galnom[$i]','$imgn[$i]')") or die(mysqli_error($cnxn));
Upvotes: 2