Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/09/2008, 05:04
Avatar de Dundee
Dundee
 
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
por favor ayuda con error sql

Hola , ya he posteado anteriormente este error y no conseguí solucionar el problema, pero ahora despúes de tantas y tantas horas trasteando voy a ser más claro para evitar respuestas tipo (haz var_dump para ver si llega el array). Espero explicarme mejor esta vez:

Error
Código:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1
Función que procesa el array bidimensianal con los datos
Código:
function update_articles_pedido($article) {

//return count($articles);
  $conn = db_connect();

//for ($i=0;$i<count($article);$i++)
foreach ($article as $row)
							 {

 	$sSQL =mysql_query ( "UPDATE  pedidos_articulos   
          	SET unidades='$row[1]'
		WHERE pedidoid='$row[0]' ");
							
							
							 
	$result=mysql_query($sSQL)or die(mysql_error());

	if (!$result)
	return 0;
	
	
	}
		mysql_free_result($sSQL);						  

	return 1; 
	
}

Pruebas

1.
haciendo esto dentro de la función
Código:
foreach ($article as $row) {
							
echo "unidades :".$row[1]."<br>";		
echo "pedidoid :".$row[0]."<br>";
}
Obtengo
unidades :1111
pedidoid :707
unidades :444
pedidoid :708

Por lo que creo que podemos descartar que le problema venga de que no se pasa el array correctamente.

2. He revisado los campos de la Bd y están correctos (los nombres y tipos se corresponden)

3 No entiendo mucho de sql solo lo justo para trabajar con php y muchas veces la memoria me falla por lo que recurro a código que ya tengo hecho para copiar y pegar, pero he hecho esto desde PHPMYADMIN (Y HA FUNCIONADO PERFECTAMENTE, YA QUE SE HA ACTUALIZADO EL CAMPO).
Código:
UPDATE  pedidos_articulos   
           SET unidades='126'
	WHERE pedidoid='711'
4 Ante mi desesperación (jejej) decidí probar actualizar UN SOLO ARTÍCULO , es decir la idea es que de todos los artículos que se me muestran 5,6,7,8 pueda actualizar las unidades de cada uno de ellos, pero si los actualizo todos NO FUNCIONA ahora si actualizo solo UNO , ¡¡¡ SI FUNCIONA ¡¡ pero sigue saliendo el mismo error.

Código:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1
Por favor ¿alguien me puede ayudar y darme una respuesta antes de que me vuelva majara?.
Por si no me explique bien , los valores del array $article SI LLEGAN BIEN, digo esto porque me han insistido mucho en lo mismo siempre , y lo he comprobado con un foreach.
Un saludo y mil gracias

Última edición por Dundee; 19/09/2008 a las 05:20