Ver Mensaje Individual
  #9 (permalink)  
Antiguo 29/05/2011, 17:12
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 3 meses
Puntos: 2658
Respuesta: comparar variable con campo mysql

Te está faltando el segmento de asignar la cadena " and arti_id='".$art[$i]."'" a la variable. Además no tiene ninguna utilidad ni sentido repetir un pedazo de la cadena en los case. Si siempre está, ponla por fuera.
- Trata de revisar bien el código, especialmente el SQL creado con el PHP.
- Usa un editor con analizador de sintaxis. Te hubieses ahorrado el error.
- El hecho de que puedas poner la sentencia escrita en varias líneas sin cortar la sentencia, no significa que debas hacerlo. Trata de escribir código de modo en que puedas revisarlo bien, sin tener que recorrerlo de punta a punta.
- Cuando recibas un error de sintaxis de SQL, revisa primero qué es lo que realmente queda armado en la consulta antes que nada.

Código php:
Ver original
  1. $sql2="update  articulos set  pr1       = '".$final."', ";
  2. $sql2 .= "pr2       = '".$final."',";
  3. $sql2 .= "pr3       = '".$final."',";
  4. $sql2 .= "pr4       = '".$final."',";
  5. $sql2 .= "pr5       = '".$final."',";
  6. $sql2 .= "pr6       = '".$final."',";
  7. $sql2 .= "pr7       = '".$final."',";
  8. $sql2 .= "pr8       = '".$final."',";
  9. $sql2 .= "pr9       = '".$final."',";
  10. $sql2 .= "pr10      = '".$final."',";
  11. $sql2 .= "gar_art   = '".$gar[$i]."',";
  12. $sql2 .= "proce     = '".$pro[$i]."',";
  13.     switch ($stk[$i]) {
  14.         case 'suc01':
  15.             $sql2 .= "stk1 = stk1 + $can[$i]";
  16.             break;
  17.         case 'suc02':
  18.             $sql2 .= "stk2 = stk2 + $can[$i]";
  19.             break;
  20.         case 'suc03':
  21.             $sql2 .= "stk3 = stk3 + $can[$i]";
  22.             break;
  23.         case 'suc04':
  24.             $sql2 .= "stk4 = stk4 + $can[$i]";
  25.             break;
  26.         case 'suc05':
  27.             $sql2 .= "stk5 = stk5 + $can[$i]";
  28.             break;
  29.         case 'suc06':
  30.             $sql2 .= "stk6 = stk6 + $can[$i]";
  31.             break;
  32.         case 'suc07':
  33.             $sql2 .= "stk7 = stk7 + $can[$i]";
  34.             break;
  35.         case 'suc08':
  36.             $sql2 .= "stk8 = stk8 + $can[$i]";
  37.             break;
  38.         case 'suc09':
  39.             $sql2 .= "stk9 = stk9 + $can[$i]";
  40.             break;
  41.         case 'suc10':
  42.             $sql2 .= "stk10 = stk10 + $can[$i]";
  43.             break; }
  44. $sql2 .= " where arti_id='".$art[$i]."'";
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)