Buenos días, tengo un problema con las conexiones PDO
Estoy trabajando con servidor local XAMPP en Windows 10 con puerto de Apache 8080.
Tengo la siguiente clase:
<?php
class Conexiones
{
private $conexion;
private $host = 'localhost';
private $usuario = 'root';
private $pass = '';
private $bbdd = 'boda';
public function conectar() {
try {
$this->conexion = new PDO("mysql:host = $this->host;dbname = $bbdd", $this->usuario, $this->pass);
$this->conexion->exec("SET CHARACTER SET utf8");
$this->conexion->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT );
$this->conexion->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
$this->conexion->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
} catch (PDOException $e) {
print "ERROR: ".$e->getMessage();
die();
}
}
public function consulta($consulta, $datos) {
$sql = $this->conexion->prepare($consulta);
$sql->execute($datos);
}
public function desconectar() {
$this->conexion = null;
}
public function __clone() {
trigger_error('La clonación de este objeto no está permitida', E_USER_ERROR);
}
}
?>
La base de datos "boda" está creada, con una tabla "invitados" pero al intentar hacer un insert:
public static function addInvitado($nombre, $novios, $categoria, $tipo, $numPersonas, $asiste = 1) {
$insert = "INSERT INTO invitados (nombre, novios, categoria, tipo, numPersonas, asiste) VALUES (:nombre, :novios, :categoria, :tipo, :numPersonas, :asiste)";
$datos = array('nombre' => $nombre, 'novios' => $novios, 'categoria' => $categoria, 'tipo' => $tipo, 'numPersonas' => $numPersonas, 'asiste' => $asiste);
$conexion = new Conexiones();
$conexion->conectar();
$result = $conexion->consulta($consulta, $datos);
$conexion->desconectar();
return $result;
}
Es cuando al recoger de un formulario los datos, enviarlos por AJAX a un archivo php y ejecutar el método de la clase Invitados.php (esta de arriba) me de vuelve el error de la excepcion PDO: SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected
Que la base de datos no está seleccionada, pero está creada y pasada al PDO como se ve en la clase "Conexiones".