Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   No me funciona UPDATE (https://www.clubdelphi.com/foros/showthread.php?t=65182)

maravert 25-11-2009 23:57:18

No me funciona UPDATE
 
Hola a todos, espero que alguin pueda ayudarme.

Estoy tratando de actualizar una tabla con valores que los recibo de un proceso, pero no me graba nada.
Utilizo PHP y MysQL 5
el codigo es el siguiente

Código PHP:

<?
 
 $alumno_id 
$_POST['alumno_id']; // int
 
$concepto $_POST['concepto']; // Varchar
 
$cuenta $_POST['cuenta'];  // int
 
$importe $_POST['importe']; //float
 
$fecha_a $_POST['fecha_a']; // VarChar (15)
 
$fecha_r $_POST['fecha_r']; // VarChar (15)
 
  
 
$elmonto = ($importe * - 1);  //lo multiplico por uno para dismiuir el saldo del cliente
        
// Abajo voy a actualizar el Saldo del cliente con los nuevos datos, cosa que no pasa nada
 
// en el Campo fecha me aparecen numeros ejemplo 0.345456667 etc y no entiendo porque 

 
$con mysql_connect("localhost","root","passe");
      if (!
$con) { die(No es posible conectarse' . mysql_error()); }
    
     mysql_query("UPDATE Alumnos SET saldo  = saldo + '
$elmonto' WHERE id = '$Id_alumno'");
     mysql_query("UPDATE Alumnos SET fechaUltimopago  = '
$fecha' WHERE id = '$Id_alumno'");
     mysql_query("UPDATE Alumnos SET no_pagos = no_pagos - 1 WHERE id = '
$Id_alumno'");
     mysql_close($con);
  
          
?>

Ojala alguien pueda decirme que estoy haciendo mal.

Gracias a todos

Maravert

roman 26-11-2009 02:33:39

Posiblemente haya un error en la consulta. Utiliza la forma

Código PHP:

<?php
mysql_query
(...) or die(mysql_error());
?>

para ver si el motor manda un mensaje de error que te aclare la situación.

Así ,a ojo, lo único que veo raro es que en la consulta UPDATE utilizas la variable $Id_alumno, mientras que al recibir los datos del POST usas $alumno_id, que es lo mismo pero alrevés ;).

// Saludos

Julián 26-11-2009 09:02:46

Y ademas puedes er que aquí:

UPDATE Alumnos SET saldo = saldo + '
$elmonto' WHERE ...

te sobren las comillas para la variable $elmonto, pues se supone que es numérica. O sea, debería quedar así:

UPDATE Alumnos SET saldo = saldo +
$elmonto WHERE ...

roman 26-11-2009 16:42:55

Aunque a MySQL le da los mismo; es decir, puedes poner entre comillas todos los valores, sean o no de tipo caracter.

// Saludos

maravert 26-11-2009 17:21:37

Gracias pior su respuesta lo voy a probar y les comento


La franja horaria es GMT +2. Ahora son las 11:53:16.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi