Foros del Web » Programando para Internet » PHP »

Mejorar consulta SQL

Estas en el tema de Mejorar consulta SQL en el foro de PHP en Foros del Web. Hola a todos. Estoy haciendo un script de registro, y quiero hacer las consultas estrictamente necesarias y estoy mirando si puedo mejorar esta parte: Código ...
  #1 (permalink)  
Antiguo 05/07/2010, 15:42
Avatar de SetheR  
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 3 meses
Puntos: 44
Mejorar consulta SQL

Hola a todos. Estoy haciendo un script de registro, y quiero hacer las consultas estrictamente necesarias y estoy mirando si puedo mejorar esta parte:

Código PHP:
//Miramos que el nombre no este repetido, no sea demasiado corto o largo (entre 3 y 25 chars) y que tenga caracteres permitidos.
        
$name_result $this->database->Query("SELECT name FROM users WHERE name='$name'");
        
$data['name_available'] = ($this->database->numRows($name_result) > 0) ? false true;
        
$data['valid_name'] = (strlen($name) < || strlen($name) > 25 || eregi("[#%\(\)<>{})\^\$]"$name)) ? false true;

        
//Verificamos que el email sea valido o no este repetido
        
$email_result $this->database->Query("SELECT email FROM users WHERE email='$email'");
        
$data['email_available'] = ($this->database->numRows($email_result) > 0) ? false true;
        
$data['valid_email'] = ((strlen($email) < || !eregi("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z]+)+$"$email))) ? false true
Habría alguna manera de utilizar ahí solo un solo query ?
  #2 (permalink)  
Antiguo 05/07/2010, 15:59
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Mejorar consulta SQL

aquí te podemos ayudar a resolver el PHP, pero de SQL lo dudo.. este no es el foro adecuado... (:
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 05/07/2010, 16:03
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Mejorar consulta SQL

Hola

Este es el foro de PHP. Nada que ver con SQL
Prueba así
Código SQL:
Ver original
  1. $result = $this->database->Query("SELECT name, email FROM users WHERE name='$name' AND email='$email'");
  2.         $data['name_available'] = ($this->database->numRows($result) > 0) ? FALSE : TRUE;
  3.         $data['valid_name'] = (strlen($name) < 3 || strlen($name) > 25 || eregi("[#%\(\)<>{})\^\$]", $name)) ? FALSE : ((strlen($email) < 5 || !eregi("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z]+)+$", $email))) ? FALSE : TRUE;  ;

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #4 (permalink)  
Antiguo 05/07/2010, 16:24
Avatar de SetheR  
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 3 meses
Puntos: 44
Respuesta: Mejorar consulta SQL

gracias por responder. Creo que aunque si tiene que ver con la forma del SQL, también importa como recoger los datos con PHP.

A ver me explico mejor (ya que Adler, no es eso lo que quiero hacer).

La pregunta era si con una sola consulta y a partir de 2 variables podría generar UNA solo consulta que me permistiese según su resultado dar valores booleanos a otras 2 variables.

Repito, sé que la forma del string sql importa, pero a parte de eso, no sabría como hacer los que digo arriba en un par de lineas de PHP, y creo que se puede, pero no se como :(

Un saludo

Etiquetas: sql, mejoras
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:19.