Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: Antoniio en 20 Agosto 2018, 00:21 am



Título: Local host dice: Error al conectar con el servidor
Publicado por: Antoniio en 20 Agosto 2018, 00:21 am
Hola, buenas. Encontré este sistema de inversiones en GitHub: https://github.com/miguelc1234/InversionesPhp
Creo la base de datos, extraigo los archivos en xampp-htdocs y creo la página pero al momento de quererme conectar me manda un mensaje de error: Local host dice: Error al conectar con el servidor
(https://i.imgur.com/xwU4DOP.png)

Así venía el código de conexión:
[PHP]
Código
  1. <?php
  2. abstract class DBAbstractModel
  3. {
  4.  
  5.   private $db_host = 'aprendicesrisaraldac.ipagemysql.com';
  6.    private $db_user = 'inversion';
  7.    private $db_port = '3033';
  8.    private $db_pass = 'invent@r';
  9.    protected $db_name = 'bdinversiones';
  10.    protected $query;
  11.    public $rows = array();
  12.    protected $conn;
  13.    public $mensaje = 'Hecho';
  14.  
  15.    # métodos abstractos para ABM de clases que hereden    
  16.    abstract protected function get();
  17.    abstract protected function set();
  18.    abstract protected function edit();
  19.    abstract protected function delete();
  20.  
  21.    # los siguientes métodos pueden definirse con exactitud y no son abstractos
  22. # Conectar a la base de datos
  23. public function open_connection()
  24. {
  25.    try
  26.    {
  27.        $this->conn = new PDO("mysql:host=$this->db_host;dbname=$this->db_name", $this->db_user, $this->db_pass);
  28.    }
  29.  
  30.    catch(PDOException $e)
  31.    {
  32.        $this->mensaje = $e->getMessage();
  33.    }
  34. }
  35.  
  36. # Desconectar la base de datos
  37. public function close_connection()
  38. {
  39. $this->conn = null;
  40. }
  41. }
  42. ?>

Y me manda el error, así lo puse:
Código
  1. <?php
  2. abstract class DBAbstractModel
  3. {
  4.  
  5.    private $db_host = 'localhost';
  6.    private $db_user = 'root';
  7.    private $db_port = '';
  8.    private $db_pass = '';
  9.    protected $db_name = 'bdinversiones';
  10.    protected $query;
  11.    public $rows = array();
  12.    protected $conn;
  13.    public $mensaje = 'Hecho';
  14.  
  15.    # métodos abstractos para ABM de clases que hereden    
  16.    abstract protected function get();
  17.    abstract protected function set();
  18.    abstract protected function edit();
  19.    abstract protected function delete();
  20.  
  21.    # los siguientes métodos pueden definirse con exactitud y no son abstractos
  22. # Conectar a la base de datos
  23. public function open_connection()
  24. {
  25.    try
  26.    {
  27.        $this->conn = new PDO("mysql:host=$this->db_host;dbname=$this->db_name", $this->db_user, $this->db_pass);
  28.    }
  29.  
  30.    catch(PDOException $e)
  31.    {
  32.        $this->mensaje = $e->getMessage();
  33.    }
  34. }
  35.  
  36. # Desconectar la base de datos
  37. public function close_connection()
  38. {
  39. $this->conn = null;
  40. }
  41. }
  42. ?>

Lo pongo con "root" y sin "root" y es el mismo resultado. Cuál puede ser el problema??

Gracias de antemano.


Título: Re: Local host dice: Error al conectar con el servidor
Publicado por: EdePC en 20 Agosto 2018, 06:14 am
Saludos,

- Si mal no recuerdo xamp pregunta que usuario y password se va ha utilizar para MySQL al momento de su instalación, asegúrate de que sean los correctos o desinstala y vuelve a instalar xamp.

- También está el asunto del puerto, creo que utiliza el 8080 mmm.. no recuerdo, igual te lo muestra al momento de instalarlo.

- Luego tambien asegúrate de que esten corriendo los servicios de MySQL y Apache, que por defecto no se ejecutan automáticamente en cada reinicio del sistema.

- Por último asegúrate de haber cargado la base de datos, es decir abrir MySQL y cargar en él el fichero https://github.com/miguelc1234/InversionesPhp/blob/master/BDInversiones/bdinversiones.sql

-- Revisa todo lo anterior y si aún no funciona o presenta otro problema comenta hasta que punto vas bien.