PHP - php para update en mysql

 
Vista:
sin imagen de perfil

php para update en mysql

Publicado por Daniel (43 intervenciones) el 28/03/2016 22:14:03
Buenas... lo primero es que no se si debo consultar aquí o en mysql. perdón si lo hago mal.

bien, tengo este código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 
if(isset($_POST["grabar_comentarios"]))
 
$query = "UPDATE tutoria SET mat1a ='".$mat1a."' WHERE id='$id'";
$result=mysql_query($query);
if($result)
{
    echo "Actualizacion OK ! ";
} else {
    echo "No hubo actualizacion";
}
 
?>

Vale, el problema es simple, si le hago un echo $id

me devuelve el valor 9... todo correcto pero el código de arriba no funciona!

ahora bien, si cambio en el código ... WHERE id=9";

la actualización de la base de datos se hace sin problemas en la linea 9. he probado teniendo una columna tipo timestamp para poder hacer la comparación, pero tampoco... si comparo números en el WHERE no me funciona con funciones... si lo consigo si comparo valores y funciones que contengan letras

llevo un dia enterito con esto, alguien me ayuda?
gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

php para update en mysql

Publicado por Diego (13 intervenciones) el 29/03/2016 00:22:51
Hola daniel, que error te sale?

estoy asumiendo que ya hiciste la conexión con la base de datos, intenta usar:

1
echo mysql_errno($nombre_conexion) . ": " . mysql_error($nombre_conexion)

otra recomiendación viendo el codigo, no te compliques con tantas concatenaciones en la sentencia, escribela así:

1
$query = "UPDATE tutoria SET mat1a ='$mat1a' WHERE id='$id';

estoy atento a tu respuesta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

php para update en mysql

Publicado por Daniel (43 intervenciones) el 29/03/2016 13:54:07
Hola Diego!
gracias por ayudar... no me arroja error. Me indica Actualización ok! como tengo puesto en el echo pero... al ir a la base de datos, no se ha grabado nada.


El caso es que aquí el colega tiene el mismo problema que yo y no veo solución...

http://stackoverflow.com/questions/8313213/php-mysql-update-where-id-id

voy a intentar asignar key unica al timestamp e intentar un Insert... On duplicate key update... ya contaré
gracias de nuevo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

php para update en mysql

Publicado por xve (6935 intervenciones) el 29/03/2016 15:09:00
Hola Daniel, prueba a poner el id sin las comillas... algo así:

1
$query = "UPDATE tutoria SET mat1a ='".$mat1a."' WHERE id=$id";

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

php para update en mysql

Publicado por Daniel (43 intervenciones) el 29/03/2016 20:42:38
aaaarrrggg 2 dias con esto!!!

pero lo solucioné, el problema estaba en la variable $id

la traía de un formulario POST de otra página... al hacer echo $id evidentemente me aparecía en pantalla,

esa variable $id tenía que definirla del formulario que utilizaba para actualizar los datos NO DE LA OTRA PAGINA

1
if(isset($_POST["grabar_comentarios"]))
significa que pulsaba el botón del formulario actual, por tanto borraba la variable y no actualizaba nada

no se si me explico... otro error de novato :)

xve, nuevamente, GRACIAS. Llevas razón en tu comentario, como $id es un numero, no hace falta comillas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar