Foros del Web » Programando para Internet » PHP »

Comparar resultado sql con cadena de texto

Estas en el tema de Comparar resultado sql con cadena de texto en el foro de PHP en Foros del Web. Buenos días, Estoy intentando comparar el resultado de una consulta sql, con una cadena de texto, para saber si son iguales, pero no compara bien. ...
  #1 (permalink)  
Antiguo 24/01/2011, 04:20
 
Fecha de Ingreso: enero-2010
Mensajes: 7
Antigüedad: 14 años, 10 meses
Puntos: 0
Comparar resultado sql con cadena de texto

Buenos días,

Estoy intentando comparar el resultado de una consulta sql, con una cadena de texto, para saber si son iguales, pero no compara bien.

$sql= "select * from cursos where numero='$numero';
$query= mysql_query($sql,$link);
$fila = mysql_fetch_array($query);
$tipo=$fila["tipo"];

// si $tipo tiene el valor de "Facil"

Y lo comparo con:

if($tipo="Facil")

Me dice que no son iguales.
Como se puede comparar el resultado de sql con una cadena de texto?
Gracias.
  #2 (permalink)  
Antiguo 24/01/2011, 04:34
 
Fecha de Ingreso: abril-2007
Mensajes: 30
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Comparar resultado sql con cadena de texto

No te falta un = ?
if($tipo=="Facil")

: )
  #3 (permalink)  
Antiguo 24/01/2011, 04:46
 
Fecha de Ingreso: enero-2010
Mensajes: 7
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Comparar resultado sql con cadena de texto

si lo tengo asi:

if($tipo=="Facil")

Pero me dice que no son iguales, no se si sera por el tipo de dato.
  #4 (permalink)  
Antiguo 24/01/2011, 05:12
 
Fecha de Ingreso: abril-2007
Mensajes: 30
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Comparar resultado sql con cadena de texto

Hola de nuevo rebecahuertar, si pones el error que te devuelve mysql facilitarías la cosa.

Qué tipo es en tu base de datos ? (Varchar, Int, Text...)
  #5 (permalink)  
Antiguo 24/01/2011, 05:53
 
Fecha de Ingreso: enero-2010
Mensajes: 7
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Comparar resultado sql con cadena de texto

El resultado de $tipo es tipo texto en la base de datos.

No da error mysql, $tipo tiene el valor de "Facil"

Pero al realizar la comparacion, no entra en el if, porque no son iguales.
Pero tienen lo mismo.
  #6 (permalink)  
Antiguo 24/01/2011, 06:23
 
Fecha de Ingreso: abril-2007
Mensajes: 30
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Comparar resultado sql con cadena de texto

Pues sin ver el código total en verdad no se me ocurre más que, que pueden estar colándosete espacios en blanco o retornos de carro en lo que almacenas en la bd. Vigila tb las mayúsculas.
  #7 (permalink)  
Antiguo 24/01/2011, 06:50
 
Fecha de Ingreso: agosto-2009
Mensajes: 349
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: Comparar resultado sql con cadena de texto

A simple vista tienes un error en la sintaxis:

Deberia quedar asi

Código PHP:
Ver original
  1. $sql= "select * from cursos where numero='".$numero."'";

y la que ya te mencionó @rebecahuertar

Código PHP:
Ver original
  1. if($tipo=="Facil") {
  2. ....

Suerte :)
  #8 (permalink)  
Antiguo 24/01/2011, 10:49
 
Fecha de Ingreso: enero-2010
Mensajes: 7
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Comparar resultado sql con cadena de texto

He comprobado que la variable $tipo sea un "string" y contiene lo mismo, con lo que lo comparo, pero me dice que son diferentes.

Yo creo que el problema viene a comparar una variable que viene de una base de datos, con una cadena de texto.

Tiene que haber algo, para convertir $tipo a string para poder compararlo con una cadena de texto.
  #9 (permalink)  
Antiguo 24/01/2011, 12:11
 
Fecha de Ingreso: octubre-2009
Mensajes: 245
Antigüedad: 15 años, 1 mes
Puntos: 17
Respuesta: Comparar resultado sql con cadena de texto

Usa la funcion strcasecmp hay esta la liga al manual para que sepas como usarla
__________________
Saludos.

Etiquetas: comparar, sql, resultados, cadenas
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 08:42.