Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/03/2017, 21:12
Avatar de Fernarey1810
Fernarey1810
 
Fecha de Ingreso: noviembre-2008
Mensajes: 214
Antigüedad: 16 años, 2 meses
Puntos: 1
Porque no funciona esto?

Porque no me devuelve el objeto con los datos la consulta que esta en rojo? No entiendo no devuelve nada

CREATE TABLE IF NOT EXISTS `usuarios` (
`id_user` int(5) unsigned NOT NULL AUTO_INCREMENT,
`nombre` varchar(30) NOT NULL,
`usernombre` varchar(30) NOT NULL,
`password` char(40) NOT NULL,
`email` varchar(50) NOT NULL,
PRIMARY KEY (`id_user`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

INSERT INTO `usuarios` (`id_user`, `nombre`, `usernombre`, `password`, `email`) VALUES
(1, 'fernando ojeda', 'fernarey1810', 'c5f617e3dfc03337ef4eea22cad65b56d25c45f5', '[email protected]');


index.php

Código PHP:
Ver original
  1. <?php
  2. include 'db.php';
  3. include 'user.php';
  4.  
  5.        
  6. $user = User::getByUsername('fernarey1810');
  7. print_r($user);
  8.  
  9. if ($user->userId) {
  10.      echo 'Lo sentimos, esa cuenta ya existe. Prueba un nombre de usuario diferente.';
  11. }
  12. ?>

db.php
Código PHP:
Ver original
  1. <?php
  2. define('DB_HOST', 'localhost');
  3. define('DB_USER', 'root');
  4. define('DB_PASSWORD', '');
  5. define('DB_SCHEMA', 'ap_tostado');
  6.  
  7. $connection = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
  8. if(!$connection) {
  9.     die("Falla en la conexión a la base de datos." . mysql_error());
  10. }
  11. $db_select = mysql_select_db(DB_SCHEMA, $connection);
  12. if(!$db_select) {
  13.     die("Falla en la selección de la base de datos." . mysql_error());
  14. }
  15. ?>

user.php
Código PHP:
Ver original
  1. <?php
  2. class User {
  3.     private $uid;    
  4.     private $fields;  
  5.    
  6.    
  7.     public function __construct() {
  8.         $this->uid = null;
  9.         $this->fields = array('nombre' => '',
  10.                               'username' => '',
  11.                               'password' => '',
  12.                               'emailAddr' => '');                              
  13.     }
  14.     public function __get($field) {
  15.         if ($field == 'userId') {
  16.             return $this->uid;
  17.         }else {
  18.             return $this->fields[$field];
  19.         }
  20.     }
  21.            
  22.    
  23.     public function __set($field, $value) {
  24.         if (array_key_exists($field, $this->fields)) {
  25.             $this->fields[$field] = $value;
  26.         }
  27.     }
  28.     public static function getByUsername($username) {
  29.         $u = new User();
  30.                 // ESTA CONSULTA NO FUNCIONA NOSE PORQUE
  31.         $query = "SELECT id_user, nombre, password, email FROM usuarios WHERE usernombre = '$username'";
  32.         $result = mysql_query($query, $connection);
  33.                
  34.         if (mysql_num_rows($result)) {
  35.             $row = mysql_fetch_assoc($result);
  36.             $u->nombre = $row['nombre'];
  37.             $u->username = $username;
  38.             $u->password = $row['password'];
  39.             $u->emailAddr = $row['email'];            
  40.             $u->uid = $row['id_user'];
  41.         }
  42.        
  43.         mysql_free_result($result);
  44.         return $u;
  45.     }
  46. }