Foros del Web » Programando para Internet » PHP »

Quiero consultar un solo registro...

Estas en el tema de Quiero consultar un solo registro... en el foro de PHP en Foros del Web. Hola, necesito ayuda. Estoy comenzando a programar con php. Capturo un dato a traves del teclado usando FORM, pero cuando hago el SELECT para buscar ...
  #1 (permalink)  
Antiguo 13/04/2008, 13:08
 
Fecha de Ingreso: abril-2008
Mensajes: 16
Antigüedad: 16 años, 1 mes
Puntos: 0
Exclamación Quiero consultar un solo registro...

Hola, necesito ayuda. Estoy comenzando a programar con php.

Capturo un dato a traves del teclado usando FORM, pero cuando hago el SELECT para buscar el registro en la base de datos me arroja un error..

Explico:


<form name="form1" method="POST" action='ceropasa_descap1.php'
E-mail: <input size="19" maxlength="256" name="Ema" tabindex="1"
type="text" value=" ">
<p><input value=" Entrar!" name="Signup" tabindex="2" id="cambiab"
type="submit"> </p>
</form>

para capturar el dato,

En ceropasa_descap1.php...

conexion a la base de datos

para buscar el registro hago el query

$sql = "SELECT * FROM clientes WHERE email='$Ema'" or die(mysql_error());
$resulta = mysql_query($sql,$con);

pero resulta que '$Ema' esta vacio. Y cuando pregunto si encontro el registro me dice que no. Cual es el problema?. Alguien me puede ayudar?. Gracias.
  #2 (permalink)  
Antiguo 13/04/2008, 15:27
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Re: Quiero consultar un solo registro...

Trasladado de BD a PHP. Favor no poner código de programación en BD.

Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 13/04/2008, 15:55
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 16 años, 10 meses
Puntos: 59
Re: Quiero consultar un solo registro...

Si pasaste Ema por POST, asi lo debes recibir.

Es decir

Código PHP:
$Ema $_POST['Ema']; 
Ahora si, $Ema tiene el valor que viene del formulario.

Algo importante es el tema de seguridad, debes limpiar la variable que viene del formulario, ya que alguien malintencionado podría hacer una inyección SQL.

De eso si que te ayude otro, yo no se mucho al respecto.

Saludos.
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"
  #4 (permalink)  
Antiguo 15/04/2008, 09:38
 
Fecha de Ingreso: abril-2008
Mensajes: 16
Antigüedad: 16 años, 1 mes
Puntos: 0
Busqueda Re: Quiero consultar un solo registro...

Gracias por la ayuda, pero aun no funciona. Hice una prueba preguntado por un registro especifico de la siguiente forma:

SELECT ..... email = '[email protected]' ...

y funciono, quiero decir utilizando ese email que ya esta en la base de datos con comillas simples funciono.

Alguna sugerencia??
  #5 (permalink)  
Antiguo 15/04/2008, 09:43
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Quiero consultar un solo registro...

Prueba de esta forma utilizando el operador LIKE

Código PHP:
$Ema $_POST['Ema'];
$sql "SELECT * FROM clientes WHERE email LIKE '%$Ema%'";
$resulta mysql_query($sql$con) or die( mysql_error() ); 

Saludos.
  #6 (permalink)  
Antiguo 15/04/2008, 09:46
Avatar de jago86  
Fecha de Ingreso: abril-2008
Ubicación: Ibarra - Ecuador
Mensajes: 77
Antigüedad: 16 años
Puntos: 1
Re: Quiero consultar un solo registro...

Muestranos el código de tus archivos para ver en donde está la falla, con lo que te ha sugerido lucasan deberia funcionar perfectamente.
  #7 (permalink)  
Antiguo 15/04/2008, 16:22
 
Fecha de Ingreso: abril-2008
Mensajes: 16
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Quiero consultar un solo registro...

La base se llama Usuarios y la tabla clientes. El campo email es de tipo text

Ok. Aqui esta el codigo,

<HTML>
<HEAD>
<TITLE>Formulario - manda datos a pasa_descap1.php </TITLE>
<link href="estilo.css" rel="StyleSheet" type="text/css">
</HEAD>

<BODY>

<form name="form1" method="POST" action='ceropasa_descap1.php'
<span class="otroestilo2"><br>
E-mail: </span><input size="19" maxlength="256" name="Ema" tabindex="1"
type="text" value=" ">
<span class="otroestilo2"><br>
Clave: </span><input size="19" maxlength="256" name="clave1" tabindex="2"
type="password" value=" ">
<p><input value=" Entrar!" name="Signup" tabindex="3" id="cambiab"
type="submit"> </p>
</form>
<p><a class="otroestilo2" href="#">Olvidaste Clave?</a></p>
<p><a class="otroestilo2" href="">Todavia sin registrarte?</a></p>

</BODY>
</HTML>

ceropasa_descap1.php

<?php
include('CO11111.php'); // Conecta a la base
$Ema = $_POST['Ema'];
$sql = "SELECT * FROM clientes WHERE email LIKE '%$Ema%'";
$resulta = mysql_query($sql, $con) or die( mysql_error());
if(mysql_num_rows($sql_)==0) die (mysql_error())
$obj=mysql_fetch_object($resulta);
// Mostrar registro
mysql_close($con);

?>


El error es --> Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\appserv\www\ceropasa_descap1.php on line 6

Pregunta: No tiene que ver con la forma como adiciono registros a la base? Debo pasarlos a otro tipo de datos o algo mas?

Gracias por sus sugerencias
  #8 (permalink)  
Antiguo 15/04/2008, 17:36
Avatar de jago86  
Fecha de Ingreso: abril-2008
Ubicación: Ibarra - Ecuador
Mensajes: 77
Antigüedad: 16 años
Puntos: 1
Re: Quiero consultar un solo registro...

Por ahora veo que debes cambiar lo siguiente:

<?php
include('CO11111.php'); // Conecta a la base
$Ema = $_POST['Ema'];
$sql = "SELECT * FROM clientes WHERE email LIKE '%$Ema%'";
$resulta = mysql_query($sql, $con) or die( mysql_error());
if(mysql_num_rows($resulta)==0) die (mysql_error())
$obj=mysql_fetch_object($resulta);
// Mostrar registro
mysql_close($con);

?>

por eso te da el error, ests pasando a la funcion solo el string de la consulta, debes pasarle la variable que recibe la consulta.
  #9 (permalink)  
Antiguo 15/04/2008, 18:18
 
Fecha de Ingreso: abril-2008
Mensajes: 16
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Quiero consultar un solo registro...

Hola y Gracias,

Te refieres a esto:
$Ema=S_POST["$Ema"];
  #10 (permalink)  
Antiguo 15/04/2008, 18:18
 
Fecha de Ingreso: abril-2008
Mensajes: 16
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Quiero consultar un solo registro...

Trate asi pero no funciona...
  #11 (permalink)  
Antiguo 15/04/2008, 18:21
 
Fecha de Ingreso: abril-2008
Mensajes: 16
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Quiero consultar un solo registro...

Corrijo: ya entendi , tu dices

if(mysql_num_rows($sql)==0)...

ya lo corregi en el codigo ..pero aun nada
  #12 (permalink)  
Antiguo 15/04/2008, 20:11
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 16 años, 10 meses
Puntos: 59
Re: Quiero consultar un solo registro...

El resultado de la consulta lo estas guardando en $resulta

Entonces debe ser como te dijo jago86

Código PHP:
//Así debe quedar
if(mysql_num_rows($resulta)==0) die (mysql_error());


//Así la tienes tu
if(mysql_num_rows($sql)==0) die (mysql_error()); 
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"
  #13 (permalink)  
Antiguo 16/04/2008, 16:56
 
Fecha de Ingreso: abril-2008
Mensajes: 16
Antigüedad: 16 años, 1 mes
Puntos: 0
Pregunta Re: Quiero consultar un solo registro...

Gracias nuevamente..

Pero que va nada. Por alguna razon no hace el query..... Alguna otra sugerencia??
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 09:56.