PDA

Ver la Versión Completa : No me funciona UPDATE


maravert
25-11-2009, 23:57:18
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


<?

$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


<?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