Comunidad de diseño web y desarrollo en internet online

UPDATE y ERROR 1054

Citar            
MensajeEscrito el 19 Abr 2012 03:24 pm
Hola amigos de MySql tengo un update, me da el error 1054. lo imprimo desde mysql_errno($link)

$Compe = $_POST['Compet'];
$Compe = (int) $Compe;
$graA = $_POST['Gra'];
$letraA = 'A';


$sql_query ="UPDATE grados SET Descrigrado = '$graA' WHERE Id_Competencia = $Compe AND Letra_Grado = $letraA";

$sql_query_execute = mysql_query($sql_query,$link);


Las variables vuelven bien a mi Flash, por lo que entran bien al PHP, las muestro así luego del UPDATE:

$el1 = mysql_errno($link);
$grabara = 'er';
echo "<raiz>";
echo " <nodo>".$grabara."</nodo>";
echo " <nodo1>".$el1."</nodo1>";
echo " <nodo2>".$graA."</nodo2>";
echo " <nodo3>".$Compe."</nodo3>";
echo "</raiz>";

la estructura de la tabla es:
Id_Grado int(4) YES
Id_Competencia int(4) YES
Letra_Grado varchar(1) YES
Descrigrado varchar(500) YES


Alguien podrá tirarme una mano por favor?
Muchas gracias! :D

Por grodrig61

Claber

223 de clabLevel



 

chrome
Citar            
MensajeEscrito el 19 Abr 2012 05:03 pm
El error 1054 indica que estás intentando usar un campo que no existe en la tabla. El mensaje de error completo debería decir cuál es el campo que no existe.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 19 Abr 2012 05:17 pm
Gracias DriverOp, como veo el mensaje completo?

O donde puedo encontrar eso?

Por grodrig61

Claber

223 de clabLevel



 

msie8
Citar            
MensajeEscrito el 19 Abr 2012 05:21 pm
Otra cosa, el update hace set o where sobre campos que te puse abajo, en la estructura. o sea, los campos existen.

Gracias!

Por grodrig61

Claber

223 de clabLevel



 

msie8
Citar            
MensajeEscrito el 20 Abr 2012 01:10 pm
Hola, les paso el update y la tabla, no logro descubrir el error. Las variables llegan bien al PHP, está comprobado. DETALLE: La variable $letraA es = 'A' (ver el error).

$sql_query ="UPDATE grados SET Descrigrado = '$graA' WHERE Id_Competencia = $Compe AND Letra_Grado = $letraA";

ERROR: er 1054 Unknown column 'A' in 'where clause'

Tabla grados:
Id_Grado int(4) YES
Id_Competencia int(4) YES
Letra_Grado varchar(1) YES
Descrigrado varchar(500) YES


Muchas gracias! :D

Por grodrig61

Claber

223 de clabLevel



 

chrome
Citar            
MensajeEscrito el 20 Abr 2012 04:27 pm
Haz un echo de $sql_query para que veas cómo se armó la sentencia SQL completa. No te lo puedo asegurar pero da la impresión que uno de los valores de las variables con las que armas la sentencia contiene caracteres que confunde a MySQL.

Y un consejo, es mejor si encierras los nombres de los campos y las tablas en la sentencia con la comilla de apóstrofe (`) y los valores con la comilla simple para evitar ambigüedades:

Código PHP :

$sql_query ="UPDATE `grados` SET `Descrigrado` = '".$graA."' WHERE `Id_Competencia` = '".$Compe."' AND `Letra_Grado` = '".$letraA."'";;

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 20 Abr 2012 05:44 pm
Perfecto!

Muchas gracias !

Por grodrig61

Claber

223 de clabLevel



 

msie8

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.