PHP - Problema con un Select

   
Vista:

Problema con un Select

Publicado por Rosy (64 intervenciones) el 18/07/2008 15:11:27
Hola, estoy usando el appServ para hacer un pequeños sitio web, estoy recien empezando y solo llevo hecho un programa en php, sin embargo, hay un select que no me resulta y no encuentro la solucion. Probe haciendo el select directamente en phpMyAdmin y tampoco resulta, me arroja un error.
El select es el siguiente.

SELECT sum(IF(sexo="M",1,0)) as hombre FROM `consultas_2008` WHERE codS = 400

como ven es un query simple y buscando en la ayuda, confirma que este tipo de select se puede hacer, sin embargo no entiendo donde puede estar el problema.

El Error que aparece es el siguiente:

MySQL ha dicho:

#1267 - Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='

Aunque no se si tiene alguna relacion, a continuacion menciono las versiones que estoy usando:

- The AppServ Open Project - 2.4.2 for Windows
- Apache Web Server Version 1.3.33
- PHP Script Language Version 4.3.9
- MySQL Database Version 4.1.7
- Zend Optimizer Version 2.5.5
- phpMyAdmin Database Manager Version 2.6.0-pl2
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema con un Select

Publicado por Diego Romero (1450 intervenciones) el 18/07/2008 16:18:29
Lo que el mensaje está diciendo es que tienes dos campos de la tabla que tienen codificaciones diferentes que impiden compararlos entre sí. Supongo yo que será el campo "sexo".
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema con un Select

Publicado por Rosy (64 intervenciones) el 18/07/2008 16:40:22
Gracias Diego por la respuesta, pero tienes algun consejo de como puedo solucionarlo. Revise la estructura de la tabla y el campo sexo es char(1)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema con un Select

Publicado por Pineapple (183 intervenciones) el 18/07/2008 19:27:21
Como dice Diego, tiene mucha razon asi que checa que tu base de datos en el tipo de escritura utf8, o latin, o no se cual utilizes, si abres tu bd con algun administrador por ejemplo phpmyadmin veras un campo que te dice el tipo de escritura o algo similar y ahi encontraras, utf8, ascii, latin entre otros....... te diria que en tu codigo php tambien te fijaras si arriba esta declarada la linea donde hace eso o modificaras el php.ini pero no creo que vaya por ahi porque dices que haces la consulta a la bd driectamente y te da el error.

Esperemos que tengas suerte saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como se resuelve

Publicado por rosy (64 intervenciones) el 18/07/2008 20:26:12
Hola, gracias por identificar el problema, ahora necesito saber como lo resuelvo.
Entre nuevamente al phpMyAdmin e intente con un select mas simple aun:

Select * from consulta_2008 where sexo = "M"

y resulta que sale el mismo error que indique mas arriba, que frustrante no poder saber como se resuelve algo tan utilizado

Ojalá alguien tenga alguna sugerencia
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como se resuelve

Publicado por Pineapple (183 intervenciones) el 19/07/2008 00:08:27
Haber Rosy, lo que pasa esque no tengo aquí en mysqlmyadmin, pero algo rekuerdo, mira dale a que te edite la tabla o el cambo seleccionas el campo aeditar con el checkbox, y luego alicono editar (es un lapizito) , y van a aparecer los nombres de los campos que seleccionaste editar, va a aparecer de cuantos caracteres son, si son nullos o no, etc! y en uno de esos viene el tipo de escritura.. ahi le pones el que tu deseas que por lo general es el utf8, sino entiendes me agregas al msn, para decirte paso a paso vale?

Saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como se resuelve

Publicado por Diego Romero (1450 intervenciones) el 19/07/2008 00:39:53
Cuando en MyPHPAdmin examinas la estructura de la tabla hay una columna que se llama "Cotejamiento", de eso estamos hablando.

Además tendrías que verificar qué "cotejamiento" usa el servidor web que estás usando, puede que por ahí se desate el problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar