Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Problemas con declaración MySQL

Estas en el tema de Problemas con declaración MySQL en el foro de Mysql en Foros del Web. Tengo esta declaración (en la cual uso condicionales) que no funciona. No sé por qué, la idea de las condicionales es para cuando el usuario ...
  #1 (permalink)  
Antiguo 24/07/2012, 12:21
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 4 meses
Puntos: 15
Problemas con declaración MySQL

Tengo esta declaración (en la cual uso condicionales) que no funciona. No sé por qué, la idea de las condicionales es para cuando el usuario ponga "indistinto" cuando elija ciertos parámetros. Espero me puedan ayudar.

Un saludo

Código PHP:
$Sexo $_POST['Sexo'];
$Civil $_POST['Civil'];
$Titulo $_POST['Titulo'];
$Especialidad $_POST['especialidad'];

mysql_select_db("vitae",$conectar);

//Base de datos
            
if ($Sexo 'Indistinto') {
                
$ssql2="SELECT * FROM wp_consultte WHERE 
                EstadoCivil LIKE '%$Civil%'
                OR Titulo LIKE '%$Titulo%'  
                OR Especialidad LIKE '%$Especialidad%'
                LIMIT $inicio , $TAMANO_PAGINA
            "
;
            } elseif (
$Civil 'Indistinto') {
                
$ssql2="SELECT * FROM wp_consultte WHERE 
                   Genero LIKE '%$Sexo%' 
                OR Titulo LIKE '%$Titulo%'  
                OR Especialidad LIKE '%$Especialidad%'
                LIMIT $inicio , $TAMANO_PAGINA
            "
;
            }elseif (
$Titulo 'Indistinto') {
                
$ssql2="SELECT * FROM wp_consultte WHERE 
                   Genero LIKE '%$Sexo%' 
                OR EstadoCivil LIKE '%$Civil%' 
                OR Especialidad LIKE '%$Especialidad%'
                LIMIT $inicio , $TAMANO_PAGINA
            "
;
            }elseif ((
$Titulo 'Indistinto')&&($Senero 'Indistinto')) {
                
$ssql="SELECT * FROM wp_consultte WHERE 
                EstadoCivil LIKE '%$Civil%' 
                OR Especialidad LIKE '%$Especialidad%'
                LIMIT $inicio , $TAMANO_PAGINA
            "
;
            }
            elseif ((
$Titulo 'Indistinto')&&($Civil 'Indistinto')) {
                
$ssql="SELECT * FROM wp_consultte WHERE 
                Genero LIKE '%$Sexo%' 
                OR Especialidad LIKE '%$Especialidad%'
                LIMIT $inicio , $TAMANO_PAGINA
            "
;
            }
            elseif ((
$Sexo 'Indistinto')&&($Civil 'Indistinto')) {
                
$ssql="SELECT * FROM wp_consultte WHERE 
                Titulo LIKE '%$Titulo%' 
                OR Especialidad LIKE '%$Especialidad%'
                LIMIT $inicio , $TAMANO_PAGINA
            "
;
            }
            elseif ((
$Sexo 'Indistinto')&&($Civil 'Indistinto')&&($Titulo 'Indistinto')) {
                
$ssql="SELECT * FROM wp_consultte WHERE Especialidad LIKE '%$Especialidad%'
                LIMIT $inicio , $TAMANO_PAGINA
            "
;
            }
            
$resultado mysql_query($ssql2) or die(mysql_error()); 
  #2 (permalink)  
Antiguo 24/07/2012, 12:57
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, 4 meses
Puntos: 2658
Respuesta: Problemas con declaración MySQL

Todo lo que tenga que ver con el código PHP es OFF-TOPIC en este foro. No te podemos ayudar, porque para resolver temas de programación en PHP está el Foro de PHP...

En cuanto a lo que tiene que ver con las consultas, no queda claro (porque no lo mencionas) si el asunto es que no te devuelve datos, o si te devuelve error.

Si no te devuelve datos, no existe un problema a nivel de MySQL. Simplemente que no existen registros que cumplan la condición determinada por el WHERE. En ese caso deberás analizar manualmente el resultado de las consultas según los datos de prueba que usas y los que tienes en la base.
Si te devuelve un error, necesitamos saber qué mensaje de error es, porque sin eso no hay por donde empezar.

Así que... ¿cuál es el detalle del asunto?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 24/07/2012, 13:16
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 4 meses
Puntos: 15
Respuesta: Problemas con declaración MySQL

No me devuelve nada, y no me marca error.

Lo puse aquí porque el problema podría estar tanto en la declaración de MySQL como en PHP

Los registros deberían funcionar, porque hago otro tipo de consultas y si funcionan ahí
  #4 (permalink)  
Antiguo 24/07/2012, 13:24
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, 4 meses
Puntos: 2658
Respuesta: Problemas con declaración MySQL

Cita:
Los registros deberían funcionar, porque hago otro tipo de consultas y si funcionan ahí
¿Otro tipo de consultas con las mismas condiciones y datos de prueba?

Con te dije, si no hay datos y tampoco errores, el problema está en las condiciones de las consultas...
La única solución es verificar, por un lado que no tengan condiciones interexcuyentes, y por otro lado, que los datos de prueba para los parámetros realmente se cumplan en las consultas.
Esto último es fácil:
- Usa el phpMyadmin o lo que sea que uses.
- Copia cada una delas consultas.
- Una por una, pruébalas sin poner el WHERE y las condiciones.
- Con cada tabla resultado, toma los parámetros que deberías probar en la aplicación y verifica visualmente si hay algún registro que lasc umpla.
- Si te presenta dudas, vuelve a usar la misma consulta, ponle el WHERE y las condiciones con sus datos de prueba y vuelve a ejecutarla. Si no devuelve datos, es que no se cumple. Si los devuelve, revisa el código de PHP y el modo en que se embeben los valores de las variables.
- No. No hay otro modo. Es como se hace cuando te dedicas a desarrollo de aplicaciones. Se llama "depuración de errores", y su regla de oro dice: "Que tu sepas que está bien escrito, no significa que realmente esté bien escrito".
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 24/07/2012 a las 13:39

Etiquetas: select, sql
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 01:25.