Foros del Web » Programando para Internet » PHP »

Problemas con el update

Estas en el tema de Problemas con el update en el foro de PHP en Foros del Web. Hola! Tengo un problema con el update y por más que lo miro no se que puede ser. Resulta que siempre que realizo el update ...
  #1 (permalink)  
Antiguo 07/08/2007, 09:29
 
Fecha de Ingreso: agosto-2007
Mensajes: 25
Antigüedad: 16 años, 9 meses
Puntos: 0
Problemas con el update

Hola! Tengo un problema con el update y por más que lo miro no se que puede ser.

Resulta que siempre que realizo el update no me modifica la base de datos y me da el mensaje del "or die(No se ha realizado la actualización");". Alguien sabe porque puede ser?

Aqui va el código:
Código PHP:
<?
        
include_once("../Connect/conexion.php");
        
$conexion connect();
        
        
$cif_empresa $_REQUEST['cif_empresa'];
                /
Lo guardo para luego comprobar que modifique el adecuado
        $cif_antiguo
=$cif_empresa;
        
$sql "Select * from empresa where cif_empresa = '$cif_empresa'";
        
$res mysql_query($sql,$conexion);
        
$array mysql_fetch_array($res);
            
$nombre $array['nombre_empresa'];
                
//Lo guardo para luego comprobar que no es mi propio nombre de empresa
        
$nombre_antiguo $nombre;
        
$direccion $array['direccion'];
        
$cp $array['cp'];
        
$tel $array['tel'];
        
$poblacion $array['poblacion'];
        
$localidad $array['localidad'];        

        if(isset(
$_REQUEST["Guardar"])){
        
        
$cif_empresa $_REQUEST['cif_empresa'];
        
$nombre $_REQUEST['nombre'];
        
$direccion $_REQUEST['direccion'];
        
$cp $_REQUEST['cp'];
        
$tel $_REQUEST['tel'];
        
$poblacion $_REQUEST['poblacion'];
        
$localidad $_REQUEST['localidad'];    
    
        
$sql "Select * from empresa where nombre_empresa = '$nombre' And nombre_empresa<>'$nombre_antiguo'";
        
$res mysql_query($sql,$conexion);
        
$row mysql_num_rows($res);
        if(
$row){
            echo 
'Ya existe una empresa con ese nombre, introduzca otra empresa';
        }else{
        
        
$sql "Update empresa Set cif_empresa='$cif_empresa',nombre_empresa='$nombre',direccion='$direccion',cp='$cp',tel='$tel,'poblacion='$poblacion',localidad='$localidad' where cif_empresa='$cif_antiguo'";
        
$res mysql_query($sql,$conexion)or die("No se ha realizado la actualización");
        
$num mysql_num_rows($res);
        if(
$num==-1){
            echo 
'ERROR';
            }else{
                echo 
'<div align=center>La modificacion de la empresa fue satisfactorio</div>';
            }
        }
    }else{
?>    
    <form name="form" method="post" action="" id="form">
  <table width="450" border="0" align="center" cellpadding="2" cellspacing="2">
  <tr>
      <td width="178"><strong>Cif empresa*</strong></td>
      <td width="272"><input name="cif_empresa" type="text" id="cif_empresa" size="30" value="<?=$cif_empresa?>"></td>
    </tr>
    <tr>
      <td width="178"><strong>Nombre empresa*</strong></td>
      <td width="272"><input name="nombre" type="text" id="nombre" size="30" value="<?=$nombre?>"></td>
    </tr>
    <tr>
      <td><strong>Dirección*</strong></td>
      <td><input name="direccion" type="text" id="direccion" size="30" value="<?=$direccion?>"></td>
    </tr>
    <tr>
      <td><strong>Teléfono*</strong></td>
      <td><input name="tel" type="text" id="tel" size="30" value="<?=$tel?>"></td>
    </tr>
    <tr>
      <td><strong>Código postal</strong></td>
      <td><input name="cp" type="text" id="cp" size="30" value="<?=$cp?>"></td>
    </tr>
    <tr>
      <td><strong>Población*</strong></td>
      <td><input name="poblacion" type="text" id="poblacion" size="30" value="<?=$poblacion?>"></td>
    </tr>
    <tr>
      <td><strong>Localidad*</strong></td>
      <td><input name="localidad" type="text" id="localidad" size="30" value="<?=$localidad?>"></td>
    </tr> 
    </table>
    <table width="450" border="0" align="center" cellpadding="2" cellspacing="2">
     <tr>
      <td align="center"><input type="submit" name="Guardar" value="Guardar" class="botton"></td>
    </tr>
    </table>
</form>
<?
}
?>
Les agradecería mucho que me pudiesen ayudar!!

Saludos.
  #2 (permalink)  
Antiguo 07/08/2007, 09:45
 
Fecha de Ingreso: abril-2007
Mensajes: 101
Antigüedad: 17 años
Puntos: 0
Re: Problemas con el update

Fijate que en esta parte del sql tienes la comilla simple mal posicionada (la colocaste despues de la coma en la variable $tel):
direccion='$direccion',cp='$cp',tel='$tel,'poblaci on='$poblacion'

deberia ser:
direccion='$direccion',cp='$cp',tel='$tel',poblaci on='$poblacion'
  #3 (permalink)  
Antiguo 07/08/2007, 09:47
Avatar de Cbas  
Fecha de Ingreso: enero-2002
Ubicación: capital federal
Mensajes: 437
Antigüedad: 22 años, 3 meses
Puntos: 2
Re: Problemas con el update

Por qué no imprimis en pantalla esa sentencia y la tirás en el MyAdmin a ver qué te dice?

SALUDOS!
__________________
La Perfección es enemigo de lo bueno.
  #4 (permalink)  
Antiguo 07/08/2007, 09:49
Avatar de Cbas  
Fecha de Ingreso: enero-2002
Ubicación: capital federal
Mensajes: 437
Antigüedad: 22 años, 3 meses
Puntos: 2
Re: Problemas con el update

Justo se interpusieron las respuestas a lo que dice naujgf.

Te cuento que lo ideal, o al menos que hago yo, es cuando alguna sentencia de SQL me da error la imprimo en pantalla y luego la ejecuto desde el MyAdmin para saber realmente el error porque muchas veces no te da un error descriptivo.

SALUDOS!
__________________
La Perfección es enemigo de lo bueno.
  #5 (permalink)  
Antiguo 07/08/2007, 09:53
 
Fecha de Ingreso: agosto-2007
Mensajes: 25
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: Problemas con el update

Muchas gracias por vuestras respuestas!! La verdad es que cuando nos ofuscamos en algo ya no vemos ni las comillas ni los puntos ni nada de nada...

Pero para la próxima os haré caso y lo ejecutaré desde el MyAdmin para saber realmente el error.

Saludos!!
  #6 (permalink)  
Antiguo 07/08/2007, 10:03
 
Fecha de Ingreso: agosto-2007
Mensajes: 25
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: Problemas con el update

No quiero abusar de vosotros pero sabeis porque me dice que "La modificacion de la empresa fue satisfactoria" y me sale este warning arriba?

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in....

Si le pongo una "@" aqui "$num = @mysql_num_rows($res);" (he leido que alguién daba este truco para este error) entonces no me da ese warning pero tampoco me actualiza la base de datos.

Saludos.
  #7 (permalink)  
Antiguo 07/08/2007, 10:05
Avatar de Cbas  
Fecha de Ingreso: enero-2002
Ubicación: capital federal
Mensajes: 437
Antigüedad: 22 años, 3 meses
Puntos: 2
Re: Problemas con el update

No uses mysql_num_rows($res);, porque no estás haciendo un select, fijate usando
mysql_affected_rows($res)

SALUDOS!
__________________
La Perfección es enemigo de lo bueno.
  #8 (permalink)  
Antiguo 07/08/2007, 10:16
 
Fecha de Ingreso: agosto-2007
Mensajes: 25
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: Problemas con el update

Gracias por la aportación pero me sigue sin modificar los datos de la base de datos y no se porque porque me dice "La modificacion de la empresa fue satisfactoria"

Lo que si he visto que si pongo otro "cif_empresa" diferente al que hay en la base de datos no me modifica nada, en cambio, si modifico todo menos ese "cif_empresa" entonces si que me lo hace.

Esto puede ser debido a que "cif_empresa" es la clave primaria?

Última edición por persi; 07/08/2007 a las 11:15
  #9 (permalink)  
Antiguo 07/08/2007, 12:22
Avatar de Cbas  
Fecha de Ingreso: enero-2002
Ubicación: capital federal
Mensajes: 437
Antigüedad: 22 años, 3 meses
Puntos: 2
Re: Problemas con el update

Y porque cif_empresa debe ser el ID de esa tabla, y seguramente la debes tener como autonumerica... por qué estás modificando ese campo??? creo que no deberías modificarlo... o si?
__________________
La Perfección es enemigo de lo bueno.
  #10 (permalink)  
Antiguo 07/08/2007, 12:57
 
Fecha de Ingreso: agosto-2007
Mensajes: 25
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: Problemas con el update

Hola, si que necesito modificarlo, pero he visto que mi problema no esta ahi sino que hago mal esta consulta sql:

$sql = "Select * from empresa where nombre_empresa = '$nombre' And nombre_empresa <> '$nombre_antiguo'";

Pero ya esta!! ya va del todo todo!!

Gracias por la ayuda!!!

Última edición por persi; 07/08/2007 a las 13:49
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:40.