Foros del Web » Programando para Internet » PHP »

consulta de dos campos no vacios

Estas en el tema de consulta de dos campos no vacios en el foro de PHP en Foros del Web. Hola! mi problema es que quiero saber si ya me han introducido los mismos valores en la tabla ENQ_PE. para ello hago una consulta seleccionando ...
  #1 (permalink)  
Antiguo 25/04/2005, 05:58
Avatar de Pazosele  
Fecha de Ingreso: marzo-2005
Ubicación: BCN - España
Mensajes: 200
Antigüedad: 19 años, 1 mes
Puntos: 0
Busqueda consulta de dos campos no vacios

Hola!
mi problema es que quiero saber si ya me han introducido los mismos valores en la tabla ENQ_PE. para ello hago una consulta seleccionando de la tabla los valores idenquesta y idpreg, y mirando que no sean iguales a los que me han pasado por el formulario, y que ya e metido en variables.

El caso es que siempre me muestra el mensaje del else...
y no veo el error.. ¿que estoy haciendo mal?

Código PHP:
$dades1=mssql_query("select * from ENQ_PE Where IdEnquesta=$IdEnquesta AND IdPreg=$IdPreg"$servidor); 
if (
$dades1==NULL//no esta definida
        
{
        
mssql_query("insert into ENQ_PE (IdEnquesta,IdPreg,Ordre) values ('$IdEnquesta','$IdPreg','$Ordre')",$servidor); 
        
header("Location: insertar.php"); 
        }
else 
        {
    
        echo 
'Esta pregunta ya esta definida en esta enquesta<BR>';
        echo 
'<a href="javascript:history.back()">Volver y modificar datos</a>';    
        } 
la tabla enq_pe tiene los campos idenquesta, idpreg y ordre.
__________________
Share our Knowledge!
Adura Vita!
  #2 (permalink)  
Antiguo 25/04/2005, 06:05
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Lo que haces con $dades1=mssql_query(... es ver si se realisó bien la sentencia SQL... no importa si hubo resultados o no.. simplemente compruebas que se haya realizado... por eso te envia al else.

Para ver si hubo resultados ocupa mysql_num_rows(). Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 25/04/2005, 06:21
Avatar de Pazosele  
Fecha de Ingreso: marzo-2005
Ubicación: BCN - España
Mensajes: 200
Antigüedad: 19 años, 1 mes
Puntos: 0
como tendria que hacer el if entonces??
si pongo esto
if (mysql_num_rows()==NULL)
me dice
Warning: Wrong parameter count for mssql_num_rows() in c:\inetpub\wwwroot\preguntesenquesta\insertaracc.p hp on line 13

no he usado nunca el num_rows.. pero con esto, controlaria que esos campos estubieran vacios?
me podrias poner un ejemplo, si no te importa?

Gracias de antemano!
__________________
Share our Knowledge!
Adura Vita!
  #4 (permalink)  
Antiguo 25/04/2005, 06:24
Avatar de Pazosele  
Fecha de Ingreso: marzo-2005
Ubicación: BCN - España
Mensajes: 200
Antigüedad: 19 años, 1 mes
Puntos: 0
voy a provar con el empty, a ver...
__________________
Share our Knowledge!
Adura Vita!
  #5 (permalink)  
Antiguo 25/04/2005, 06:32
Avatar de Pazosele  
Fecha de Ingreso: marzo-2005
Ubicación: BCN - España
Mensajes: 200
Antigüedad: 19 años, 1 mes
Puntos: 0
Me ha funcionado el EMPTY!!!
gracias por todo una vez mas Jam!
__________________
Share our Knowledge!
Adura Vita!
  #6 (permalink)  
Antiguo 25/04/2005, 06:49
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
funcionó empty??? ... ...
Cita:
Iniciado por Pazosele
como tendria que hacer el if entonces??
si pongo esto
if (mysql_num_rows()==NULL)
me dice
Warning: Wrong parameter count for mssql_num_rows() in c:\inetpub\wwwroot\preguntesenquesta\insertaracc.p hp on line 13

no he usado nunca el num_rows.. pero con esto, controlaria que esos campos estubieran vacios?
me podrias poner un ejemplo, si no te importa?
Bueno.. antetodo, si desconoces una función siempre tendrás www.php.net para consultarla... veamos que dice de mysql_query():
Cita:
Para las sentencias SELECT, SHOW, DESCRIBE o EXPLAIN, mysql_query() regresa un resource en caso exitoso, y FALSE en error.

(...)

Use mysql_num_rows() para encontrar cuantas filas fueron regresadas para una sentencia SELECT (...)

mysql_query() también fallará y regresará FALSE si el usuario no tiene permiso de accesar la o las tablas referenciadas por la consulta.
Veamos mysql_num_rows():
Cita:
mysql_num_rows(id_resultado) regresa el número de filas en un resultado. Este comando es valido solo para las sentencias SELECT.
Ahora bien, entendí que haces una consulta buscando ciertos valores... con mysql_num_rows() obtendrás ese número de resultados; 0 si no hubo coincidencias... Ejemplo gráfico:
Código PHP:
// conectamos y demás
// una consulta cualquiera
$consultamysql_query("SELECT * FROM tabla WHERE campo='valor'"$conexion);
// entonces
if(mysql_num_rows($consulta)==0) echo "No hubo resultados";
else 
"Se encontraron coincidencias"
Igual decir que esta consulta/función la podrás encontrar si buscas en el foro... Espero te haya servido... Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 19:22.