Foros del Web » Programando para Internet » PHP »

Asignación sql a variable

Estas en el tema de Asignación sql a variable en el foro de PHP en Foros del Web. Buenas, quiero asignar el valor de una consulta sql a una variable, pero no se en que estoy fallando. Tengo un formulario de login, en ...
  #1 (permalink)  
Antiguo 16/03/2009, 11:06
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Asignación sql a variable

Buenas, quiero asignar el valor de una consulta sql a una variable, pero no se en que estoy fallando.
Tengo un formulario de login, en el que introduzco por desplegable el nombre de usuario y por type='password' la clave. Ejecuto esta función para comprobar que son correctos y no se si asigno bien el valor del select a la variable de sesión que quiero hacer.
##############################################
function comprobar($nomrec,$clave){
//conecto con la base de datos
$conn = mysql_connect("192.168.1.214","usuario","usuario") ;
//selecciono la BBDD
mysql_select_db("recambios",$conn);

//Sentencia SQL para buscar un usuario con esos datos
$ssql = "SELECT nrec FROM recambista WHERE nomrec='$nomrec' and clave='$clave'";
//Ejecuto la sentencia
$rs = mysql_query($ssql,$conn);
$_SESSION['nrec']=$rs;
//vemos si el usuario y contraseña es váildo
//si la ejecución de la sentencia SQL nos da algún resultado
//es que si que existe esa conbinación usuario/contraseña
if (mysql_num_rows($rs)!=0){
//usuario y contraseña válidos
//defino una sesion y guardo datos
if(mysql_num_rows($rs)!=0) {
// Crea tu variable de sesion:
$_SESSION['usuario'] = $nomrec;

// Aqui rediriges a la pagina correcta
} else {
// Asegurate de borrar todo en la session
session_destroy();
// Redirigies al formulario de login
}
$autentificado = "SI";
header("Location: recambios.php");
}else {
//si no existe le mando otra vez a la portada
header("Location: index.php?errorusuario=si");
}
mysql_free_result($rs);
mysql_close($conn);
}
##############################################

En teoría así quedaría asignado el valor 'nrec' correspondiente al 'nomrec' y 'clave' introducidos mediante el formulario?
__________________
Dando cabezados se aprende...
  #2 (permalink)  
Antiguo 16/03/2009, 11:14
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 20 años, 6 meses
Puntos: 24
Respuesta: Asignación sql a variable

Tenés que documentarte pars saber que devuelve mysql_query()
http://ar.php.net/manual/es/function.mysql-query.php
en donde dice
Cita:
"El resultado obtenido debe ser pasado a mysql_fetch_array(), y otras funciones para el manejo de las tablas del resultado, para accesar los datos regresados."
Saludos.
  #3 (permalink)  
Antiguo 16/03/2009, 11:20
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Gracias, ya por lo menos se la burrada que estaba haciendo.

Ya lo tengo. Lo pongo por si a alguien le puede ayudar:
function comprobar($nomrec,$clave){
//conecto con la base de datos
$conn = mysql_connect("192.168.1.214","usuario","usuario") ;
//selecciono la BBDD
mysql_select_db("recambios",$conn);

//Sentencia SQL para buscar un usuario con esos datos
$ssql = "SELECT * FROM recambista WHERE nomrec='$nomrec' and clave='$clave'";
//Ejecuto la sentencia
$rs = mysql_query($ssql,$conn);
while ($datos=mysql_fetch_array($rs)){
$_SESSION['nrec']=$datos['nrec']; //AQUÍ HAGO LAS ASIGNACIONES QUE NECESITE
$_SESSION['nivel']=$datos['nivel'];
}
//vemos si el usuario y contraseña es váildo
//si la ejecución de la sentencia SQL nos da algún resultado
//es que si que existe esa conbinación usuario/contraseña
if (mysql_num_rows($rs)!=0){
//usuario y contraseña válidos
//defino una sesion y guardo datos
if(mysql_num_rows($rs)!=0) {
// Crea tu variable de sesion:
$_SESSION['usuario'] = $nomrec;

// Aqui rediriges a la pagina correcta
} else {
// Asegurate de borrar todo en la session
session_destroy();
// Redirigies al formulario de login
}
$autentificado = "SI";
header("Location: recambios.php");
}else {
//si no existe le mando otra vez a la portada
header("Location: index.php?errorusuario=si");
}
mysql_free_result($rs);
mysql_close($conn);
}
__________________
Dando cabezados se aprende...

Última edición por GatorV; 16/03/2009 a las 14:57
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 10:24.