Foros del Web » Programando para Internet » PHP »

problema con if/else

Estas en el tema de problema con if/else en el foro de PHP en Foros del Web. Saludos, tengo este codigo en el cual la primera condicion si se cumple pero la segunda por todos los metodos que conozco no lo hace, ...
  #1 (permalink)  
Antiguo 09/10/2013, 11:08
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 13 años, 6 meses
Puntos: 3
problema con if/else

Saludos, tengo este codigo en el cual la primera condicion si se cumple pero la segunda por todos los metodos que conozco no lo hace, siempre me da la primera condicion en los 2 casos, no se que estoy haciendo mal, solicito su ayuda.

Código PHP:
<?php
$busca
="";
$busca=$_POST['busca'];
mysql_connect("localhost","root");// si haces conexion desde internnet usa 3 parametros si es a nivel local solo 2
mysql_select_db("datos");//nombre de la base de datos


$busqueda=mysql_query("SELECT * FROM datos1 WHERE usuario LIKE '%".$busca."%'");//cambiar nombre de la tabla de busqueda
if($busca!=$busqueda)
{

echo 
'USUARIO NO EXISTE';
}

else{



while(
$f=mysql_fetch_array($busqueda)){
    
    
?>


<div id="usuario" style="position:absolute; left:28px; top:77px; width:162px; height:14px; z-index:4" align="left">

<?php
 
echo $f['usuario']; 

   
?></div>
<?php
}}
?>
  #2 (permalink)  
Antiguo 09/10/2013, 11:17
 
Fecha de Ingreso: junio-2010
Ubicación: Charlotte, NC
Mensajes: 611
Antigüedad: 13 años, 10 meses
Puntos: 95
Respuesta: problema con if/else

Estas comparando una cadena de texto con un objeto.

Obviamente la primera condicion siempre va a ser falsa.

porque supon que

Código PHP:
Ver original
  1. $_POST['busca'] = "Alan"

entonces:

Código PHP:
Ver original
  1. $busca = "Alan";


en tu caso la instruccion mysql_query() regresa un objeto del tipo resource, por lo tanto

la variable $busca es diferente de $busqueda TODO el tiempo.

2 cosas:

1) NO UTILICES MYSQL_ Tu aplicacion es vulnerable a inyeccion de SQL
2) tu mysql_fetch_array() debe ir antes de la condicion de "Usuario no existe"

toma en cuenta que mysql_fetch_array crea un ARRAY, por lo tanto aunque lo acomodes correctamente
vas a seguir comparando una cadena de text con un array, por lo tanto la condicion siempre va a ser falsa.

Etiquetas: mysql, select, sql, tabla
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 20:15.