Foros del Web » Programando para Internet » PHP »

Update dentro de funcion php

Estas en el tema de Update dentro de funcion php en el foro de PHP en Foros del Web. Buenos, tenia una duda Este codigo yo lo veo lógico, pero no funciona el update cuando sube la imagen (o las imagenes) Funciona todo menos ...
  #1 (permalink)  
Antiguo 20/03/2015, 06:04
 
Fecha de Ingreso: febrero-2015
Mensajes: 27
Antigüedad: 9 años, 2 meses
Puntos: 0
Exclamación Update dentro de funcion php

Buenos, tenia una duda

Este codigo yo lo veo lógico, pero no funciona el update cuando sube la imagen (o las imagenes)

Funciona todo menos eso

Código HTML:
 <form action="test.php?miSelect=<?php echo $selected_val?>" method="post" enctype="multipart/form-data">
	  <label for="archivo">Archivo:</label>
	  <input type="file" name="archivo[]" multiple id="archivo" />
	  <br/>
	  <input type="submit" value="Enviar" />
	</form> 
Código PHP:
if ($_SERVER['REQUEST_METHOD'] == 'POST')
            {
            
$files $_FILES['archivo']['name'];
            
$upload = new Multiupload();  
            
$isUpload $upload->upFiles($files$campoElejido$FotIdi);
            }else{
            }

            class 
Multiupload {
                public function 
upFiles($files = array(), $campoElejido$FotIdi)  {
                    
$i 0;             
                    foreach(
$files as $file) {
                        if(
$_FILES['archivo']['tmp_name'][$i])  {
                            
$selected_val$_GET["miSelect"];
                            
$varPathImagen "images/autos/" .$selected_val ."/";
                            
$trozos[$i] = explode("."$_FILES["archivo"]["name"][$i]);
                            
$extension[$i] = end($trozos[$i]);
                            if(
$this->checkExtension($extension[$i]) === TRUE)  {
                                
$_FILES['archivo']['name'][$i] = $this->checkExists($trozos[$i]);      
                                if(
move_uploaded_file($_FILES['archivo']['tmp_name'][$i], $varPathImagen .$_FILES['archivo']['name'][$i]))  {
                                    
$updata ".." ."/" ."$varPathImagen" .$_FILES['archivo']['name'][$i];
                                    echo 
"Exito!";
                                    
//Actualizamos datos en registro EXITSTEN, agregando la direecion de una foto
                                    
$paso "UPDATE tblfoto SET $campoElejido = '$updata' WHERE FotId = $FotIdi";
                                    
$stmtmm $mysqli->prepare ($paso);
                                    
$stmtmm->execute();
                                } 
                            }else{
                                echo 
"la extension no esta permitida";
                            }
                        }else{
                            echo 
"sin imagen";
                        }
                        echo 
"<br />";
                        
$i++;     
                    }   
                }

                private function 
checkExtension($extension)
                {
                    
$extensiones = array("jpg","png","gif","pdf");
                    if(
in_array(strtolower($extension), $extensiones))
                    {
                        return 
TRUE;
                    }else{
                        return 
FALSE;
                    }
                }
                private function 
checkExists($file)
                {
                    
$archivo $file[0] . '.' end($file);
                    
$i 0;
                    while(
file_exists('files/'.$archivo))
                    {
                        
$i++;
                        
$archivo $file[0]."(".$i.")".".".end($file);       
                    }
                    return 
$archivo;
                }
            }; 
El $campoElejido es donde se tiene que guardar la ruta de la imagen
(y el $FotIdi es la fila donde se tiene que guardar)

$varPathImagen es la ruta de la foto (y el $updata la ruta más el nombre

Cuando hago un echo de $updata aparece bien:
UPDATE tblfoto SET FotUrl2 = '../images/autos/199/FotoPrueba.jpg' WHERE FotId = 445

La conexión la hace bien, por que probe poner
Código PHP:
    if ($mysqli->connect_errno) {
        echo 
"Fallo la conexion a la base de datos";
        die(
'Connect Error: ' $mysqli->connect_errno);
        exit;
        } 
Pero no saltaba el error

Cuando hago la subida salta Fatal error: Call to a member function prepare() on a non-object in /public_html/PreProduccion/test.php on line 463
(es la linea $stmtmm = $mysqli->prepare ($paso); )

Alguien tiene idea de lo que puede estar pasando?

Ayuda!

Última edición por MartinFernandoAndres; 20/03/2015 a las 06:13
  #2 (permalink)  
Antiguo 20/03/2015, 07:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Update dentro de funcion php

No se tú, pero haces uso de una variable $mysqli pero no se ve dónde la estás definiendo.

Además dices esto:
Cita:
La conexión la hace bien, por que probe poner
¿Y dónde lo pusiste? ¿Dentro del método del problema?

Seguramente lo colocas después de hacer la conexión, lo cual resulta obvio.

Pero entiende que tu clase utiliza dicho objeto $mysqli pero no se lo pasas por ningún lado.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: funcion, mysql, registro, select
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:07.