Local host dice: Error al conectar con el servidor

  • Autor Autor Antoniio1
  • Fecha de inicio Fecha de inicio
Antoniio1

Antoniio1

Gamma
Verificación en dos pasos activada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola, buenas. Encontré este sistema de inversiones en GitHub: GitHub - miguelc1234/InversionesPhp: Php del proyecto inversiones
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
errorrrr.webp

Así venía el código de conexión:
PHP:
<?php
abstract class DBAbstractModel
{

   private $db_host = 'aprendicesrisaraldac.ipagemysql.com';
    private $db_user = 'inversion';
    private $db_port = '3033';
    private $db_pass = 'invent@r';
    protected $db_name = 'bdinversiones';
    protected $query;
    public $rows = array();
    protected $conn;
    public $mensaje = 'Hecho';

    # métodos abstractos para ABM de clases que hereden    
    abstract protected function get();
    abstract protected function set();
    abstract protected function edit();
    abstract protected function delete();
    
    # los siguientes métodos pueden definirse con exactitud y no son abstractos
	# Conectar a la base de datos
	public function open_connection() 
	{
	    try 
	    {
	        $this->conn = new PDO("mysql:host=$this->db_host;dbname=$this->db_name", $this->db_user, $this->db_pass);
	    } 

	    catch(PDOException $e) 
	    {
	        $this->mensaje = $e->getMessage(); 
	    }
	}

	# Desconectar la base de datos
	public function close_connection() 
	{
		$this->conn = null;
	}
}
?>

Y me manda el error, así lo puse:
PHP:
<?php
abstract class DBAbstractModel
{

    private $db_host = 'localhost';
    private $db_user = 'root';
    private $db_port = '';
    private $db_pass = '';
    protected $db_name = 'bdinversiones';
    protected $query;
    public $rows = array();
    protected $conn;
    public $mensaje = 'Hecho';

    # métodos abstractos para ABM de clases que hereden    
    abstract protected function get();
    abstract protected function set();
    abstract protected function edit();
    abstract protected function delete();
    
    # los siguientes métodos pueden definirse con exactitud y no son abstractos
	# Conectar a la base de datos
	public function open_connection() 
	{
	    try 
	    {
	        $this->conn = new PDO("mysql:host=$this->db_host;dbname=$this->db_name", $this->db_user, $this->db_pass);
	    } 

	    catch(PDOException $e) 
	    {
	        $this->mensaje = $e->getMessage(); 
	    }
	}

	# Desconectar la base de datos
	public function close_connection() 
	{
		$this->conn = null;
	}
}
?>

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

Gracias de antemano.
 
Te fijas si el error no se da porque no estas poniendo puerto? Por otro lado llenaste la BD con algun SQL ? Tambien revisa si los datos de conexion son los correctos, Saludos
 
Hola, gracias por responder. Ya lo intenté poniendo el puerto y aún así me arroja el mismo error. Sobre la base de datos, esta es la que viene por defecto, no he modificado nada:
Insertar CODE, HTML o PHP:
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

-- -----------------------------------------------------
-- Schema bdinversiones
-- -----------------------------------------------------

-- -----------------------------------------------------
-- Schema bdinversiones
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `bdinversiones` DEFAULT CHARACTER SET latin1 COLLATE latin1_spanish_ci ;
USE `bdinversiones` ;

-- -----------------------------------------------------
-- Table `bdinversiones`.`Usuario`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `bdinversiones`.`Usuario` (
  `idUsuario` INT NOT NULL AUTO_INCREMENT COMMENT '',
  `cedula` VARCHAR(15) NOT NULL COMMENT '',
  `nombre` VARCHAR(50) NOT NULL COMMENT '',
  `telefono` VARCHAR(15) NOT NULL COMMENT '',
  `correo` VARCHAR(50) NOT NULL COMMENT '',
  `direccion` VARCHAR(100) NOT NULL COMMENT '',
  `password` VARCHAR(20) NOT NULL COMMENT '',
  `tipoUsuario` VARCHAR(50) NOT NULL COMMENT '',
  PRIMARY KEY (`idUsuario`)  COMMENT '',
  UNIQUE INDEX `idUsuario_UNIQUE` (`idUsuario` ASC)  COMMENT '')
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `bdinversiones`.`TipoGasto`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `bdinversiones`.`TipoGasto` (
  `idTipoGasto` INT NOT NULL AUTO_INCREMENT COMMENT '',
  `nombre` VARCHAR(30) NOT NULL COMMENT '',
  `descripcion` VARCHAR(100) NULL COMMENT '',
  PRIMARY KEY (`idTipoGasto`)  COMMENT '',
  UNIQUE INDEX `idTipoGasto_UNIQUE` (`idTipoGasto` ASC)  COMMENT '')
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `bdinversiones`.`Gasto`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `bdinversiones`.`Gasto` (
  `idGasto` INT NOT NULL AUTO_INCREMENT COMMENT '',
  `tipo` VARCHAR(50) NOT NULL COMMENT '',
  `valor` INT NOT NULL COMMENT '',
  `fecha` DATETIME NOT NULL COMMENT '',
  `descripcion` VARCHAR(100) NULL COMMENT '',
  `idUsuario` INT NOT NULL COMMENT '',
  `idTipoGasto` INT NOT NULL COMMENT '',
  PRIMARY KEY (`idGasto`, `idUsuario`, `idTipoGasto`)  COMMENT '',
  UNIQUE INDEX `idGasto_UNIQUE` (`idGasto` ASC)  COMMENT '',
  INDEX `fk_Gasto_Usuario_idx` (`idUsuario` ASC)  COMMENT '',
  INDEX `fk_Gasto_TipoGasto1_idx` (`idTipoGasto` ASC)  COMMENT '',
  CONSTRAINT `fk_Gasto_Usuario`
    FOREIGN KEY (`idUsuario`)
    REFERENCES `bdinversiones`.`Usuario` (`idUsuario`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_Gasto_TipoGasto1`
    FOREIGN KEY (`idTipoGasto`)
    REFERENCES `bdinversiones`.`TipoGasto` (`idTipoGasto`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `bdinversiones`.`Cliente`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `bdinversiones`.`Cliente` (
  `idCliente` INT NOT NULL AUTO_INCREMENT COMMENT '',
  `cedula` VARCHAR(15) NOT NULL COMMENT '',
  `nombre` VARCHAR(50) NOT NULL COMMENT '',
  `direccion` VARCHAR(100) NOT NULL COMMENT '',
  `telefono` VARCHAR(15) NOT NULL COMMENT '',
  `correo` VARCHAR(50) NOT NULL COMMENT '',
  `nombreEmpresa` VARCHAR(50) NULL COMMENT '',
  `direccionEmpresa` VARCHAR(100) NULL COMMENT '',
  `estado` VARCHAR(30) NOT NULL COMMENT '',
  `calificacion` VARCHAR(200) NULL COMMENT '',
  PRIMARY KEY (`idCliente`)  COMMENT '',
  UNIQUE INDEX `idCliente_UNIQUE` (`idCliente` ASC)  COMMENT '')
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `bdinversiones`.`Factura`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `bdinversiones`.`Factura` (
  `idFactura` INT NOT NULL AUTO_INCREMENT COMMENT '',
  `fecha` DATETIME NOT NULL COMMENT '',
  `total` INT NOT NULL COMMENT '',
  `fechaCobro` DATETIME NULL COMMENT '',
  `diaCorbo` VARCHAR(10) NULL COMMENT '',
  `horaCobro` VARCHAR(15) NULL COMMENT '',
  `idVendedor` INT NOT NULL COMMENT '',
  `idCliente` INT NOT NULL COMMENT '',
  PRIMARY KEY (`idFactura`, `idVendedor`, `idCliente`)  COMMENT '',
  UNIQUE INDEX `idFactura_UNIQUE` (`idFactura` ASC)  COMMENT '',
  INDEX `fk_Factura_Usuario1_idx` (`idVendedor` ASC)  COMMENT '',
  INDEX `fk_Factura_Cliente1_idx` (`idCliente` ASC)  COMMENT '',
  CONSTRAINT `fk_Factura_Usuario1`
    FOREIGN KEY (`idVendedor`)
    REFERENCES `bdinversiones`.`Usuario` (`idUsuario`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_Factura_Cliente1`
    FOREIGN KEY (`idCliente`)
    REFERENCES `bdinversiones`.`Cliente` (`idCliente`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `bdinversiones`.`Cobro`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `bdinversiones`.`Cobro` (
  `idCobro` INT NOT NULL AUTO_INCREMENT COMMENT '',
  `fecha` DATETIME NOT NULL COMMENT '',
  `abono` INT NOT NULL COMMENT '',
  `idVendedor` INT NOT NULL COMMENT '',
  `idFactura` INT NOT NULL COMMENT '',
  PRIMARY KEY (`idCobro`, `idVendedor`, `idFactura`)  COMMENT '',
  UNIQUE INDEX `idCobro_UNIQUE` (`idCobro` ASC)  COMMENT '',
  INDEX `fk_Cobro_Usuario1_idx` (`idVendedor` ASC)  COMMENT '',
  INDEX `fk_Cobro_Factura1_idx` (`idFactura` ASC)  COMMENT '',
  CONSTRAINT `fk_Cobro_Usuario1`
    FOREIGN KEY (`idVendedor`)
    REFERENCES `bdinversiones`.`Usuario` (`idUsuario`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_Cobro_Factura1`
    FOREIGN KEY (`idFactura`)
    REFERENCES `bdinversiones`.`Factura` (`idFactura`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `bdinversiones`.`Categoria`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `bdinversiones`.`Categoria` (
  `idCategoria` INT NOT NULL AUTO_INCREMENT COMMENT '',
  `nombre` VARCHAR(30) NOT NULL COMMENT '',
  `descripcion` VARCHAR(200) NULL COMMENT '',
  PRIMARY KEY (`idCategoria`)  COMMENT '',
  UNIQUE INDEX `idCategoria_UNIQUE` (`idCategoria` ASC)  COMMENT '')
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `bdinversiones`.`Producto`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `bdinversiones`.`Producto` (
  `idProducto` INT NOT NULL AUTO_INCREMENT COMMENT '',
  `nombre` VARCHAR(50) NOT NULL COMMENT '',
  `descripcion` VARCHAR(100) NOT NULL COMMENT '',
  `cantidad` INT NOT NULL COMMENT '',
  `precioCompra` INT NOT NULL COMMENT '',
  `precioVenta` INT NOT NULL COMMENT '',
  `idCategoria` INT NOT NULL COMMENT '',
  PRIMARY KEY (`idProducto`, `idCategoria`)  COMMENT '',
  UNIQUE INDEX `idProducto_UNIQUE` (`idProducto` ASC)  COMMENT '',
  INDEX `fk_Producto_Categoria1_idx` (`idCategoria` ASC)  COMMENT '',
  CONSTRAINT `fk_Producto_Categoria1`
    FOREIGN KEY (`idCategoria`)
    REFERENCES `bdinversiones`.`Categoria` (`idCategoria`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `bdinversiones`.`Venta`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `bdinversiones`.`Venta` (
  `idVenta` INT NOT NULL AUTO_INCREMENT COMMENT '',
  `total` INT NOT NULL COMMENT '',
  `cantidad` INT NOT NULL COMMENT '',
  `estado` VARCHAR(30) NOT NULL COMMENT '',
  `idFactura` INT NOT NULL COMMENT '',
  `idProducto` INT NOT NULL COMMENT '',
  PRIMARY KEY (`idVenta`, `idFactura`, `idProducto`)  COMMENT '',
  UNIQUE INDEX `idVenta_UNIQUE` (`idVenta` ASC)  COMMENT '',
  INDEX `fk_Venta_Factura1_idx` (`idFactura` ASC)  COMMENT '',
  INDEX `fk_Venta_Producto1_idx` (`idProducto` ASC)  COMMENT '',
  CONSTRAINT `fk_Venta_Factura1`
    FOREIGN KEY (`idFactura`)
    REFERENCES `bdinversiones`.`Factura` (`idFactura`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_Venta_Producto1`
    FOREIGN KEY (`idProducto`)
    REFERENCES `bdinversiones`.`Producto` (`idProducto`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

Si no me equivoco todos los datos están correctos...

Saludos.
 
Verifica los puertos y si en tu localhost puedes acceder sin contraseña. SI no te da, intenta checar el soporte con las extensiones de PHP, seguro es algo por ahi...
 
Y que puerto estas poniendo..?
El xampp por default usa el 3306
 
Sí, estoy poniendo el puerto 3306, ya moví por todos lados pero el resultado es el mismo
 
Sí, estoy poniendo el puerto 3306, ya moví por todos lados pero el resultado es el mismo

te fijaste que el servicio mysql este corriendo?. ve a http://127.0.0.1:3306/ si aparece algo esta corriendo sino no.. (o ver en servicios)
puedes acceder al phpmyadmin? los datos de acceso al phpmyadmin te servira para colocar en tu script
 
Creería yo que el MySQL no te deja entrar sin password.

Crea un usuario mejor y aparte de libras de ese agujero de seguridad que tienes aunque sea xampp
 
te fijaste que el servicio mysql este corriendo?. ve a http://127.0.0.1:3306/ si aparece algo esta corriendo sino no.. (o ver en servicios)
puedes acceder al phpmyadmin? los datos de acceso al phpmyadmin te servira para colocar en tu script

Hola, ingresé a esa dirección y no carga, me dice que la página no funciona. Entonces ese debe ser el problema?, cómo puedo solucionarlo?
 
Hola, ingresé a esa dirección y no carga, me dice que la página no funciona. Entonces ese debe ser el problema?, cómo puedo solucionarlo?

que has instalado? osea que server instalaste en tu pc?... xamps, appserv, etc... cualquiera de ellos tiene para manejar los servicios del mysql, ejemplo los mios estan en C:\AppServ\MySQL y es ejecutado el servicio con:
PHP:
C:\AppServ\MySQL\bin\mysqld --defaults-file=C:\AppServ\MySQL\my.ini mysql

por eso tendrias que ver primero si tienes mysql instalado, sino lo puedes descargar de su sitio web he instalarlo... y si no instalaste nigun server, puedes instalar alguno de los mencionados que contiene el mysql
 
Sí, tengo instalado Xammp, desde ahí intento correr la página. Ya intenté de todas las formas pero ese mensaje sigue apareciendo...
 
Sí, tengo instalado Xammp, desde ahí intento correr la página. Ya intenté de todas las formas pero ese mensaje sigue apareciendo...
[MENTION=198631]Antoniio1[/MENTION] Instala xampp sin MySQL/MariaDB, instala este servicio por separado (independiente) con eso resuelves el asunto de cualquier falla posible.

También recuerda que tengas las extensiones suficientes para que funcione mysqli y el resto :encouragement:
 
Buenas tardes, imagino que además de instalar xampp,al momento previo a ingresar la URL al navegador inicias los servicios de xampp. Le das doble click al programa, e inicias MySQL etc
 
revisa si pusite bien el nombre de la base de datos o la creaste correctamente tambien cada una de sus tablas
 
Atrás
Arriba