Ver Mensaje Individual
  #8 (permalink)  
Antiguo 27/03/2015, 06:50
mensajeescrito
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 5
Respuesta: Error al conectar a bbdd con poo

Hola ,Eleazan, no habia leido tu respuesta , se me paso, disculpa.

Te comento;

Olvidate de lo de static en el archivo de conexion a bbdd.

NO debi hacerlo ya que la clase , sin static, me funciona perfecto para otras clases que tengo de otras cosas.

Bien dicho esto.

El codigo que actualmente tengo y que se me sigue resistiendo por mas que leo el manual esta si:

archivo 1, conexion.php

Código PHP:
Ver original
  1. class Conectar
  2.    
  3.         {
  4.  
  5.             public $servidor = 'localhost';
  6.             public $usuario = 'root';
  7.             public $pass = '';
  8.             public $basedatos = 'bbdd_login';  
  9.        
  10.    
  11.             //CONECTAMOS A LA BASE DE DATOS..................................................................
  12.            
  13.             public function con()
  14.            
  15.             {
  16.                 $con = mysqli_connect($this->servidor, $this->usuario, $this->pass, $this->basedatos) or
  17.                 die ('Lo siento pero no conecta a la BBDD');
  18.                
  19.                 return $con;       
  20.             }
  21.  
  22.  
  23.  
  24.         } //fin de Conectar



Bien como no es un metodo static, hago la instancia a este metodo desde la otra clase del

archivo class_login.php

Código PHP:
Ver original
  1.    
  2.     require_once("conexion.php");
  3.    
  4.                    
  5.                
  6.     class LoginUsuario
  7.    
  8.         {  
  9.                    
  10.                 //recogemos las variables post del formulario
  11.                 $email = $_POST['email'];
  12.                 $password = $_POST['password'];
  13.  
  14.                 $query = "SELECT * FROM admin
  15.                 WHERE email='".strip_tags($email)."' AND password='".strip_tags($password)."';";
  16.  
  17.  
  18.                  $con = new con();             
  19.                  $link=$con->Conectar_bbdd();
  20.    
  21.  
  22.                  $resultado = mysqli_query($query, $link) or die ('Lo siento pero no se inserta en BBDD' . mysqli_error($link));
  23.                  return $resultado;
  24.  
  25.  
  26.                 if ($reg=mysql_num_rows($resultado) == 0)
  27.                
  28.                     {
  29.                         header("Location:nueva_sesion.php?tipo_error=no_existe");
  30.                     }
  31.                
  32.                     else
  33.                    
  34.                 if($reg=mysql_fetch_array($resultado))
  35.                
  36.                     {
  37.                         $_SESSION['nick'] = $reg['nombre'];
  38.                         header("Location:logueado.php");
  39.                     }
  40.  
  41.             } //fin de Sesion
  42.            
  43.         } //fin de class LoginUsuario


Hasta aqui , yo lo veo correcto todo pero me dice esto como error:


Warning: mysqli_query() expects parameter 1 to be mysqli, string given in

class_login.php on line 63

"Lo siento pero no se inserta en BBDD"


osea en la linea que dice:

Código PHP:
Ver original
  1. $resultado = mysqli_query($query, $link) or die ('Lo siento pero no se inserta en BBDD' . mysqli_error($link));
  2.                  return $resultado;



Estoy perdido, no me aclaro.

Es decir entiendo que lo que me dice el error es que me falta un parametro en mysqli_query pero cuando hago un echo en

Código PHP:
Ver original
  1. $query = "SELECT * FROM admin
  2.                 WHERE email='".strip_tags($email)."' AND password='".strip_tags($password)."';";


si me aparecen el email y la contraseña provinientes del formulario.

y doy por sentado que hace la conexion a la bbdd por que sino no llegaria el proceso hasta aqui.