Foros del Web » Programando para Internet » PHP »

UPDATE no funciona. MySQL

Estas en el tema de UPDATE no funciona. MySQL en el foro de PHP en Foros del Web. Ayuda porfavor me estoy volviendo loco con esto! todos mis demas codigos si funcionan bien menos esto! nose porque no me lanza ningun error nadamas ...
  #1 (permalink)  
Antiguo 22/09/2012, 13:42
Avatar de thekye  
Fecha de Ingreso: febrero-2012
Ubicación: Acapulco
Mensajes: 13
Antigüedad: 12 años, 2 meses
Puntos: 0
UPDATE no funciona. MySQL

Ayuda porfavor me estoy volviendo loco con esto! todos mis demas codigos si funcionan bien menos esto! nose porque no me lanza ningun error nadamas no actualisa los datos dela DB.

Aqui el codigo.

Código PHP:
<?
$id 
$_GET['id'];

$select mysql_query("SELECT * FROM categorias WHERE id_categoria='$id'");
$sesion mysql_fetch_array($select);
$getnombre $sesion['NOMBRE'];
$s1s $_POST['editnombre'];

$consulta sprintf("SELECT nombre FROM categorias WHERE nombre='%s'",
    
mysql_real_escape_string($getnombre));
$busqueda mysql_query($consulta);
        
if(!empty(
$_POST['editname'])){
    if(!empty(
$_POST['editnombre'])){
        if(
mysql_num_rows($busqueda) > 0) {
             echo 
"<h3>Una Categoria con ese nombre ya existe.</h3>";
        }else{
            
///if (!mysql_query("UPDATE categorias SET nombre='$_POST[editnombre]' WHERE id_categoria='$id'")) die ("error al editar db!"); 
            
$sqlsintax "UPDATE categorias SET NOMBRE='".$s1s."' WHERE ID_CATEGORIA='".$id."'";//esta es la funcion que no funciona D: ya prove con todo y no me actualisa los datos.
            
$resultado mysql_query($sqlsintax);
            if(
$resultado){
                echo 
"Categoria Editada a $s1s";
            }else{
                echo 
"Error al Modificar Categoria. Contactar a TheKye";
            }
        }
    }else{
        echo 
"Campo de Categoria Vacio.";
    }
}else{
//aqui tengo el formulario.
}
?>
Gracias Saludos
  #2 (permalink)  
Antiguo 22/09/2012, 13:47
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: UPDATE no funciona. MySQL

update si funciona, que lo hagas mal....

primero has un echo a esto:

echo "UPDATE categorias SET NOMBRE='".$s1s."' WHERE ID_CATEGORIA='".$id."'";

Ve si la consulta es válida, verifica con alguna herramienta como phpmyadmin que se ejecute bien.

También puedes hacer uso de mysql_error() para comprobar que haya errores de sintaxis o de estructura.
  #3 (permalink)  
Antiguo 22/09/2012, 13:50
 
Fecha de Ingreso: diciembre-2011
Mensajes: 159
Antigüedad: 12 años, 4 meses
Puntos: 18
Respuesta: UPDATE no funciona. MySQL

Hola

por lo pronto vi dos cosas

$getnombre = $sesion['NOMBRE'];

si $sesion['NOMBRE']; es una variable de sesion va con doble s $_SESSION

y en categorias WHERE nombre='%s'"

¿que valor tiene '%s'?

Saludos
  #4 (permalink)  
Antiguo 22/09/2012, 13:52
 
Fecha de Ingreso: septiembre-2012
Ubicación: Bogota
Mensajes: 7
Antigüedad: 11 años, 7 meses
Puntos: 1
Respuesta: UPDATE no funciona. MySQL

Hola

revisaste que el código tenga los datos de coneccion al servidor

aveces se le pasa a uno ese tippo de cosas
  #5 (permalink)  
Antiguo 22/09/2012, 14:12
Avatar de thekye  
Fecha de Ingreso: febrero-2012
Ubicación: Acapulco
Mensajes: 13
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: UPDATE no funciona. MySQL

Cita:
Iniciado por nestornoe Ver Mensaje
Hola

por lo pronto vi dos cosas

$getnombre = $sesion['NOMBRE'];

si $sesion['NOMBRE']; es una variable de sesion va con doble s $_SESSION

y en categorias WHERE nombre='%s'"

¿que valor tiene '%s'?

Saludos
$sesion esun array de mysql a esto mira:

Código PHP:
$select mysql_query("SELECT * FROM categorias WHERE id_categoria='$id'");
$sesion mysql_fetch_array($select); 
nombre='%s' con tiene lo siguiente:
Código PHP:
$consulta sprintf("SELECT nombre FROM categorias WHERE nombre='%s'",
    
mysql_real_escape_string($getnombre)); 
la variable $getnombre con tiene esto:
Código PHP:
$getnombre $sesion['NOMBRE']; 
$sesion['NOMBRE']; es una variable de mysql_fetch_array que se encuentra arriba.

Cita:
Iniciado por cstcolombia Ver Mensaje
Hola

revisaste que el código tenga los datos de coneccion al servidor

aveces se le pasa a uno ese tippo de cosas
si me conecta con el servidor. todo esta bien menos la funcion UPDATE no funciona D:


Cita:
Iniciado por ocp001a Ver Mensaje
update si funciona, que lo hagas mal....

primero has un echo a esto:

echo "UPDATE categorias SET NOMBRE='".$s1s."' WHERE ID_CATEGORIA='".$id."'";

Ve si la consulta es válida, verifica con alguna herramienta como phpmyadmin que se ejecute bien.

También puedes hacer uso de mysql_error() para comprobar que haya errores de sintaxis o de estructura.
provare lo del "echo" pero para que usar mysql_error(); esto no me lanza ningun error nadamas no modifica los datos en la db. no veo nesesario usarlo.
  #6 (permalink)  
Antiguo 22/09/2012, 14:35
 
Fecha de Ingreso: diciembre-2011
Mensajes: 159
Antigüedad: 12 años, 4 meses
Puntos: 18
Respuesta: UPDATE no funciona. MySQL

ya hiciste une echo de que las variables te estan llegando bien?

echo $getnombre;
etc.

Saludos
  #7 (permalink)  
Antiguo 22/09/2012, 14:42
Avatar de thekye  
Fecha de Ingreso: febrero-2012
Ubicación: Acapulco
Mensajes: 13
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: UPDATE no funciona. MySQL

Cita:
Iniciado por nestornoe Ver Mensaje
ya hiciste une echo de que las variables te estan llegando bien?

echo $getnombre;
etc.

Saludos
si ya lo ise y por lo visto no me guarda la variable $id el id que entrae dela url con el $_GET['id']

mira intente hacer esto:
Código PHP:
<?php
$id 
$_GET['id'];

$select mysql_query("SELECT * FROM categorias WHERE id_categoria='$id'");
$sesion mysql_fetch_array($select);
$getnombre $sesion['NOMBRE'];

$s1s $_POST['editnombre'];

$consulta sprintf("SELECT nombre FROM categorias WHERE nombre='%s'",
    
mysql_real_escape_string($getnombre));
$busqueda mysql_query($consulta);

if(
$_GET['msg'] == 1){
    echo 
"Categoria Editada.";    
}
        
if(!empty(
$_POST['editname'])){
    if(!empty(
$_POST['editnombre'])){
        if(
mysql_num_rows($busqueda) > 0) {
             echo 
"<h3>Una Categoria con ese nombre ya existe.</h3>";
        }else{
            if (!
mysql_query("UPDATE categorias SET nombre='$s1s' WHERE id_categoria='$id'")) die ("error al editar db!"); 
            echo 
"<script language='JavaScript'>
                window.location='cat_editar.php?id=$id&msg=1';
                </script>"
;
        }
    }else{
        echo 
"Campo de Categoria Vacio.";
    }
}else{

}
pero ahora mi problema es que cuando redireccion a cat_editar.php no me imprime el id solo se muestra un campo vacio asi:

www.ejemplo.com/admin/cat_editar.php?id=&msg=1

despues del "id=" me deveria imprimir el numero.

pero no lo hace.

ejemplo cuando quiero editar una categoria:

cat_editar.php?id=2

eso me editara la categoria con "id igual a 2" pero al momento de volver a enviar el formulario no me guarda ese numero en la variable.

Gracias espero averme explicado
  #8 (permalink)  
Antiguo 22/09/2012, 14:49
 
Fecha de Ingreso: diciembre-2011
Mensajes: 159
Antigüedad: 12 años, 4 meses
Puntos: 18
Respuesta: UPDATE no funciona. MySQL

Hola

Entonces tienes mal la variable adonde creas el id

tienes supongo www.ejemplo.com/admin/cat_editar.php?id=<?=$idcat?>=&msg=<?=idmsg?>

entonces el error esta adonde aplicas el valor de la variable $idcat

$idcat= algo;

No se si lo recoges de base de datos o como pero por ahi va el asunto

Saludos
  #9 (permalink)  
Antiguo 22/09/2012, 14:57
Avatar de thekye  
Fecha de Ingreso: febrero-2012
Ubicación: Acapulco
Mensajes: 13
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: UPDATE no funciona. MySQL

Cita:
Iniciado por nestornoe Ver Mensaje
Hola

Entonces tienes mal la variable adonde creas el id

tienes supongo www.ejemplo.com/admin/cat_editar.php?id=<?=$idcat?>=&msg=<?=idmsg?>

entonces el error esta adonde aplicas el valor de la variable $idcat

$idcat= algo;

No se si lo recoges de base de datos o como pero por ahi va el asunto

Saludos
Gracias si ya lo solucione nadamas el problema era cuando enviava el formulario la varible $_GET['id'] no existia lo que ise fue enviarlo mediante $_POST y guardarlo en una variable aqui el codigo por si alguien le pueda ser util

Código PHP:
<?php
$id 
$_GET['id'];
$idses $_POST['categoriaid'];


$select mysql_query("SELECT * FROM categorias WHERE id_categoria='$id'");
$sesion mysql_fetch_array($select);
$getnombre $sesion['NOMBRE'];

$s1s $_POST['editnombre'];

$consulta sprintf("SELECT nombre FROM categorias WHERE nombre='%s'",
    
mysql_real_escape_string($getnombre));
$busqueda mysql_query($consulta);

if(
$_GET['msg'] == 1){
    echo 
"Categoria Editada.";    
}
        
if(!empty(
$_POST['editname'])){
    if(!empty(
$_POST['editnombre'])){
        if(
mysql_num_rows($busqueda) > 0) {
             echo 
"<h3>Una Categoria con ese nombre ya existe.</h3>";
        }else{
            if (!
mysql_query("UPDATE categorias SET nombre='$s1s' WHERE id_categoria='$idses'")) die ("error al editar db!"); 
            echo 
"<script language='JavaScript'>
                window.location='cat_editar.php?id=$idses&msg=1';
                </script>"
;
        }
    }else{
        echo 
"Campo de Categoria Vacio.";
    }
}else{
//aqui va el formulario etc.. lo que no se valla a procesar :D
}
?>

Etiquetas: actualisar, funcion, mysql, update
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 13:36.