Foros del Web » Programando para Internet » PHP »

UPDATE en php no puedo

Estas en el tema de UPDATE en php no puedo en el foro de PHP en Foros del Web. Hola tengo un problema al querer actualizar una entrada de una base de datos con php, tengo este código pero no me funciona por favor ...
  #1 (permalink)  
Antiguo 16/07/2011, 09:11
Avatar de lucianinski  
Fecha de Ingreso: noviembre-2009
Ubicación: México
Mensajes: 56
Antigüedad: 14 años, 11 meses
Puntos: 1
UPDATE en php no puedo

Hola tengo un problema al querer actualizar una entrada de una base de datos con php, tengo este código pero no me funciona por favor ai alguien puede identificar el problema se lo agradecería.
Aclaración no quiero insertar una nueva fila, lo que quiero es modificar un campo específico en este caso el dato de la columna 'payment' con el id especificado.


Código PHP:
// Aqui intento identificar si el usuario actual esta registrado, si tiene datos en la base
$db->setQuery('SELECT id FROM #__isp_customers WHERE user_id='.$user->get('id').' LIMIT 1');
        
$db->query();

// si coinciden datos entonces
        
if($customerid $db->loadResult() ) {
        
        
$customerid $db->loadResult();
        
        
$queryvalues.="'".$_SESSION['payment']['payment']."'";      //dato que quiero insertar
        
                
$db->setQuery("UPDATE #__isp_customers  SET payment=".$queryvalues." WHERE user_id=".$customerid."");
        
$db->query();
        
$customer['id'] = $db->insertid();        
                

                                 
//Código anulado que inserta una nueva fila este si funciona pero no quiero insertar una nueva fila
                //$db->setQuery("INSERT INTO #__isp_customers (
                    //    user_id".$queryfields.")
                    //    VALUES('".
                    //    $user->get('id')."'".
                    //    $queryvalues.
                    //    ")");
                
            

  #2 (permalink)  
Antiguo 16/07/2011, 10:07
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 7 meses
Puntos: 77
Respuesta: UPDATE en php no puedo

y por que "no funciona"? te marca algun error? no hace lo que deberia? no hace nada?
Prueba imprimiendo tu consulta para ver si se esta generando correctamente
Y no se si la clase que estas usando para la BD tenga algun tipo de manejo de errores o.o
  #3 (permalink)  
Antiguo 16/07/2011, 10:41
Avatar de lucianinski  
Fecha de Ingreso: noviembre-2009
Ubicación: México
Mensajes: 56
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: UPDATE en php no puedo

Ok ya lo solucioné pues el caso es que no hacía nada de nada luego puse esto $db->query() or die (" problema con query"); para saber de donde era el error pos supuesto era del query y pues ya googleando identifiqué varios códigos con esta rutina o lo que sea y observé las comillas o benditas comillas el caso es que los valores usados en el query deben ir asi: '".$queryvalues."' con dobles comillas de este modo, pues era eso tan solo se las puse y solucionado, a lo mejor era algo tonto pero creo que suele pasar, bueno muchas gracias por su tiempo. saludos



así quedó:
Código PHP:
//identificando usuario en base de datos
        
$db->setQuery('SELECT id FROM #__isp_customers WHERE user_id='.$user->get('id').' LIMIT 1');
        
$db->query();
        if(
$customerid $db->loadResult() ) {
        
        
//si se encuentra entonces
        
        
                //$fields = ISPHelper::getFields();
            
$customerid $db->loadResult();    
                
                
$queryvalues $_SESSION['payment']['payment']; //dato a insertar
                
                
$db->setQuery("UPDATE #__isp_customers  SET payment='".$queryvalues."' WHERE user_id='".$user->get('id')."' LIMIT 1"); //el problema aqui que no podia solucionar eran que los valores '".$queryvalues."' iban entre comilla y doble comilla
                //echo $queryvalues;
                
                //$db->setQuery("INSERT INTO #__isp_customers (
                    //    user_id".$queryfields.")
                    //    VALUES('".
                    //    $user->get('id')."'".
                    //    $queryvalues.
                    //    ")");
                
$db->query() or die (" problema con query");
                
$customer['id'] = $db->insertid();
            } 

Etiquetas: mysql+php, php+mysql, set+where, update, bases-de-datos
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 01:06.