
19/09/2015, 06:19
|
| | Fecha de Ingreso: noviembre-2014
Mensajes: 5
Antigüedad: 10 años, 3 meses Puntos: 0 | |
Problemas de conexiones PDO 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". |