Foros del Web » Programando para Internet » PHP »

Error 1054 - PHP o Mysql ??

Estas en el tema de Error 1054 - PHP o Mysql ?? en el foro de PHP en Foros del Web. Hola gente... Tengo el siguiente problema .... un SELECT que me tira un error cuando subo todo al servidor!... pero funciona bien cuando lo corro ...
  #1 (permalink)  
Antiguo 30/04/2007, 23:57
Avatar de granbosteron  
Fecha de Ingreso: agosto-2004
Mensajes: 164
Antigüedad: 19 años, 8 meses
Puntos: 1
Pregunta Error 1054 - PHP o Mysql ??

Hola gente...
Tengo el siguiente problema .... un SELECT que me tira un error cuando subo todo al servidor!...
pero funciona bien cuando lo corro en mi maquina....
No se si es un problema de programacion o de version del MYSQL... me inclino mas por lo segundo ya que son diferentes ... pero quizas igualmente sea de codigo... les paso el SELECT

Código PHP:
select 
  s
.affiliate_status_name
  
a.affiliate_status_id
  
a.affiliate_level_id
  
a.affiliate_gender
  
a.affiliate_firstname
  
a.affiliate_lastname
  
al.level_percentaje
  
al.level_name
  
c.countries_name
  
SUM( IF(a.affiliate_id=ass.affiliate_id && ass.affiliate_tier_id='0' && ass.affiliate_billing_status 110)) AS sales_indi
  
SUM( IF(a.affiliate_id=ass.affiliate_id && ass.affiliate_tier_id!='0' && ass.affiliate_billing_status 110)) AS sales_tier,
  
SUM( IF((a.affiliate_id=ass.affiliate_id) && ass.affiliate_billing_status 110)) AS sales
     
  FROM affiliate_affiliate a
affiliate_status saffiliate_level alcountries c 
  LEFT JOIN affiliate_sales ass ON 
(a.affiliate_id=ass.affiliate_id OR a.affiliate_id=ass.affiliate_tier_id)
  
WHERE a.affiliate_id='1' and a.affiliate_status_id=s.affiliate_status_id and 
  
a.affiliate_level_id=al.affiliate_level_id and a.affiliate_countries_id=c.countries_id 
  GROUP BY a
.affiliate_id 
Esto en mi maquina con Mysql (3.23.49) funka de maravilla.. pero en el servidor con Mysql (5.0.37) me tira el siguiente ERROR:
#1054 - Unknown column 'a.affiliate_id' in 'on clause'

Que diferencia hay entre las versiones?? tendre que cambiar todos los SELECTS?? o solo estare cometiendo un error en el select q el mysql 5 lo detecta y el 3 no.. ??

saludos y gracias por su ayuda...
__________________
Saludos :adios: :adios: :adios:
  #2 (permalink)  
Antiguo 01/05/2007, 03:05
Avatar de @ndreX!  
Fecha de Ingreso: abril-2007
Mensajes: 161
Antigüedad: 17 años
Puntos: 4
Re: Error 1054 - PHP o Mysql ??

Ese error es de MySQL revisa bien lo que colocas con el campo a.affiliate_id porque hay algo malo
  #3 (permalink)  
Antiguo 01/05/2007, 06:44
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 20 años, 11 meses
Puntos: 3
Re: Error 1054 - PHP o Mysql ??

1.- en alguna de tus tablas falta un campo llamado affiliate_id, esto puede ser porque hayas agregado un campor en tu BD local pero no en el remoto

2.- falta una tabla

3.- estas usando un sentencias o funciones ya no soportadas por el MySQL 5.x.x

PD: en mi caso en la oficina trabajo con MySQL 3.23.49 y en el server se tiene instalado el 4.1.10, y siempre tendo problemas, cuando un script corre perfectamente en el server en el local me "pinta una paloma"... siempre existen esos errores, lo ejecutastes en tu PHPMYADMIN?
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #4 (permalink)  
Antiguo 01/05/2007, 18:05
Avatar de granbosteron  
Fecha de Ingreso: agosto-2004
Mensajes: 164
Antigüedad: 19 años, 8 meses
Puntos: 1
Re: Error 1054 - PHP o Mysql ??

Cita:
Iniciado por el cirujano Ver Mensaje
1.- en alguna de tus tablas falta un campo llamado affiliate_id, esto puede ser porque hayas agregado un campor en tu BD local pero no en el remoto

2.- falta una tabla

3.- estas usando un sentencias o funciones ya no soportadas por el MySQL 5.x.x

PD: en mi caso en la oficina trabajo con MySQL 3.23.49 y en el server se tiene instalado el 4.1.10, y siempre tendo problemas, cuando un script corre perfectamente en el server en el local me "pinta una paloma"... siempre existen esos errores, lo ejecutastes en tu PHPMYADMIN?
Si, ya hice todo eso... revise y exporte varias veces la base, para probarla tanto localmente con Mysql 3.23 como tambien en el servidor remoto q tiene Mysql 5.x.x.x ..... probe el SELECT en PHPMYADMIN tambien .... localmente funciona y remotamente no....

los campos existen, son las primeras cosas q recontra revise .....
es seguro una incompatibilidad de versiones de Mysql supongo, pero todavia no lo pude comprobar si realmente es eso....

q mais podra ser ????
__________________
Saludos :adios: :adios: :adios:
  #5 (permalink)  
Antiguo 01/05/2007, 20:05
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: Error 1054 - PHP o Mysql ??

prueba haciendo paso por paso pues, o sea haz un simple

select algo from tabla;

y vas probando y veras donde se te cae el sql ;)
fijate que tus tabla y nombres de campos esten o todo en minuscula o mayuscula igual como haces la consulta, si algo cambia falla :)

saludos
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #6 (permalink)  
Antiguo 02/05/2007, 00:02
Avatar de granbosteron  
Fecha de Ingreso: agosto-2004
Mensajes: 164
Antigüedad: 19 años, 8 meses
Puntos: 1
Re: Error 1054 - PHP o Mysql ??

Encontre el problema

El problema estaba en el LEFT JOIN o mejor dicho habia que modificar el WHERE y agregar algunos LEFT JOIN para que funcione correctamente. Lo que mas me llama la atencion es que en la version de Mysql 3.x.x funciona perfecto.... y en la version 5.x.x NO! Deberia ser alreves.. pero bueno, les paso el SELECT correcto por si alguna vez les sucede algo parecido y los ayude.

Código PHP:
select 
  s
.affiliate_status_name
  
a.affiliate_status_id
  
a.affiliate_level_id
  
a.affiliate_gender
  
a.affiliate_firstname
  
a.affiliate_lastname
  
al.level_percentaje
  
al.level_name
  
c.countries_name
  
SUM( IF(a.affiliate_id=ass.affiliate_id && ass.affiliate_tier_id='0' && ass.affiliate_billing_status 110)) AS sales_indi
  
SUM( IF(a.affiliate_id=ass.affiliate_id && ass.affiliate_tier_id!='0' && ass.affiliate_billing_status 110)) AS sales_tier,
  
SUM( IF((a.affiliate_id=ass.affiliate_id) && ass.affiliate_billing_status 110)) AS sales
     
  FROM affiliate_affiliate a
affiliate_status saffiliate_level alcountries c 

  LEFT JOIN affiliate_sales ass ON 
(a.affiliate_id=ass.affiliate_id OR a.affiliate_id=ass.affiliate_tier_id
  
LEFT JOIN affiliate_status s ON a.affiliate_status_id=s.affiliate_status_id  
  LEFT JOIN affiliate_level al ON a
.affiliate_level_id=al.affiliate_level_id  
  LEFT JOIN countries c ON a
.affiliate_countries_id=c.countries_id 

  WHERE a
.affiliate_id='1' 
  
GROUP BY a.affiliate_id 
Si alguno conoce una explicacion, mejor a la mia, seria bueno que la publiquen, ya que lo solucione pero no me quedo claro porque funciona en una version mas vieja y en las mas actuales no!
No se si termina siendo un mal conceto mio al crear el Select o solo una modificacion de Mysql en sus veriones..

saludos y gracias a todos!
__________________
Saludos :adios: :adios: :adios:
  #7 (permalink)  
Antiguo 04/07/2011, 08:31
Avatar de memu  
Fecha de Ingreso: abril-2005
Mensajes: 2
Antigüedad: 19 años
Puntos: 0
Información Respuesta: Error 1054 - PHP o Mysql ??

Yo lo pude solucionar porque encontré que habría que hacer algo como esto que voy a describir, y les digo que funcionó perfectamente

En lugar de poner así...

... FROM t1 , t2 LEFT JOIN t3 ON (expr)

que lo interpreta así

(1) ... FROM t1 , (t2 LEFT JOIN t3 ON (expr))

y no como debería que es:

(2) ... FROM (t1 , t2) LEFT JOIN t3 ON (expr)

El paréntesis no solo despues del ON antes del WHERE por ej., sino tambien despues del FROM colocando entre paréntesis las tablas afectadas.

Aparentemente esto no ha sido documentado correctamente. Suerte ;)
  #8 (permalink)  
Antiguo 04/07/2011, 08:39
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, 5 meses
Puntos: 2658
Respuesta: Error 1054 - PHP o Mysql ??

Espero que después de 4 años todavía le sirva...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 04/07/2011, 08:48
Avatar de memu  
Fecha de Ingreso: abril-2005
Mensajes: 2
Antigüedad: 19 años
Puntos: 0
Sonrisa Respuesta: Error 1054 - PHP o Mysql ??

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Espero que después de 4 años todavía le sirva...
Acabo de hacerlo y funcionó !!!!
  #10 (permalink)  
Antiguo 04/07/2011, 09:09
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, 5 meses
Puntos: 2658
Respuesta: Error 1054 - PHP o Mysql ??

Me refiero a que estás resucitando un post de hace cuatro años atrás (2007). Básicamente estás resucitando temas muertos...
Puede servir, pero la pregunta es si el autor todavía lo necesitaba.

Ten en cuenta que cuando se resucitan temas viejos es muy usual que los moderadores lo cierren en forma definitiva.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
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 01:02.