Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] UPDATE con variable no funciona

Estas en el tema de UPDATE con variable no funciona en el foro de PHP en Foros del Web. Hola a todos, gracias por dejarme estar, estoy con un problema y quisiera saber si pueden echarme una mano. Tengo este codigo en php Código ...
  #1 (permalink)  
Antiguo 18/09/2013, 21:40
 
Fecha de Ingreso: junio-2011
Ubicación: uruguay
Mensajes: 42
Antigüedad: 12 años, 9 meses
Puntos: 0
UPDATE con variable no funciona

Hola a todos, gracias por dejarme estar, estoy con un problema y quisiera saber si pueden echarme una mano.


Tengo este codigo en php

Código PHP:
$verde "<img src=\"http://reg/t.png\" alt=\"t\" longdesc=\"t\" />";
$roja "<img src=\"http://reg/d.png\" alt=\"d\" longdesc=\"d\" />";

$idmasalto="SELECT id FROM reg ORDER BY id DESC LIMIT 1";

$alto2=mysql_query($idmasalto); 
$i=0;
while(
$row=mysql_fetch_array($alto2)){
               
$a1=$row[$i];
               
$i++;
}

$insertfecha7="UPDATE reg SET destino='$verde' WHERE id='$a1'";

mysql_query($insertfecha7); 
No me funciona el UPDATE, ya que no me toma el WHERE id='$a1' , si hago un echo de esa variable me muestra ok, o sea que el valor lo guarda, pero el UPDATE no lo utiliza.

Si pongo
$insertfecha7="UPDATE reg SET destino='$verde' WHERE id=9;

Funciona correctamente, por lo que el problema esta en '$a1' sin dudas.


Alguien sabe porque puede ser que no esta tomando el valor de la variable en el where??

Muchas gracias!!
  #2 (permalink)  
Antiguo 18/09/2013, 22:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: UPDATE con variable no funciona

Imprime la consulta justo antes de imprimirla y observa si está bien formada, si puedes también comparte los resultados.

A simple vista no se ve ningún error, así que no podemos adivinar qué está mal.

Aunque puedo preguntar, ¿para que incrementas $i si siempre vas a obtener una sola columna en $row?

Es decir, el SELECT que haces extrae únicamente una columna, si sólo hay una columna basta con acceder mediante su nombre o bien, usando el índice [0] y sin necesidad de incrementar un índice que en la siguiente iteración no tendrá lugar. ¿O sí?

Mientras iteras en el while() todo marcha bien, excepto que iteras la variable $i sin razón aparente.

No sé, a lo mejor es algo nuevo para mi.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 18/09/2013, 22:34
 
Fecha de Ingreso: junio-2011
Ubicación: uruguay
Mensajes: 42
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: UPDATE con variable no funciona

pateketrueke, es correcto lo que dices de $i, ya lo he cambiado.

Finalmente el problema era otro, un tema de comillas,

he cambiado esto:
Código PHP:
$insertfecha7="UPDATE reg SET destino='$verde' WHERE id='$a1'"
por esto:

Código PHP:
$insertfecha8="UPDATE reg SET destino='$verde' WHERE id='".$a1."'"
y ha funcionado!!

muchas gracias
  #4 (permalink)  
Antiguo 18/09/2013, 22:36
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: UPDATE con variable no funciona

No creo, el cambio de comillas no afecta en lo absoluto, el resultado siempre será idéntico con el código que expones.

Es más, acabo de hacer la prueba y efectivamente es lo mismo, es igual.

En fin, todo un misterio sin resolver.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 19/09/2013, 07:10
 
Fecha de Ingreso: junio-2011
Ubicación: uruguay
Mensajes: 42
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: UPDATE con variable no funciona

Ah, y puede haber sido ponerle los puntos . antes y despues de la variable?

Gracias
  #6 (permalink)  
Antiguo 19/09/2013, 07:42
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: UPDATE con variable no funciona

No, tampoco, esos operadores son de concatenación pero al final ambos códigos producen la misma cadena de texto.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 19/09/2013, 07:52
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: UPDATE con variable no funciona

Mira, para que veas que el efecto de las comillas o la concatenación es exactamente el mismo, puedes probar este experimento:
Código PHP:
Ver original
  1. <?php
  2. $a1 = 9;
  3. $verde = "Suiza";
  4. $insertfecha7="UPDATE reg SET destino='$verde' WHERE id='$a1'";
  5. $insertfecha8="UPDATE reg SET destino='$verde' WHERE id='".$a1."'";
  6. echo $insertfecha7;
  7. echo "<br>";
  8. echo $insertfecha8;
  9. ?>
El resultado es:

Código MySQL:
Ver original
  1. UPDATE reg SET destino='Suiza' WHERE id='9'
  2. UPDATE reg SET destino='Suiza' WHERE id='9'

Como peudes ver, no existe diferencia entre ambas cosas, por lo que si hubo un cambio, no fue por eso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: mysql
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 04:22.