Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro no PDO

Olá, estou recebendo os seguintes erros quando mudei a conexao:

Fatal error: Uncaught Error: Class 'Vendor\Factory\PDO' not found in     /var/www/html/miniblog/Vendor/Factory/ConnectionFactory.php on line 8
( ! ) Error: Class 'Vendor\Factory\PDO' not found in /var/www/html/miniblog/Vendor/Factory/ConnectionFactory.php on line 8
class ConnectionFactory{
    public static function getConnection()
    {        
        $pdo = new PDO('mysql:host=localhost;dbname=miniblog','root','');
        return $pdo;        
    }    
}
2 respostas

Eu recomendaria para tentar localizar o problema você fazer um try-catch no seu código, como é mostrado neste link:

http://www.w3schools.com/php/php_mysql_connect.asp

Segue abaixo o exemplo do link acima

<?php
$servername = "localhost";
$username = "username";
$password = "password";

try {
    $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully"; 
    }
catch(PDOException $e)
    {
    echo "Connection failed: " . $e->getMessage();
    }
?>

Um outro teste que você pode fazer seria trocar o nome "localhost" pelo IP local, que no caso é 127.0.0.1

solução!

Roberto, basta colocar uma barra invertida antes de PDO, fazendo seu código ficar assim:

class ConnectionFactory{
    public static function getConnection()
    {        
        $pdo = new \PDO('mysql:host=localhost;dbname=miniblog','root','');
        return $pdo;        
    }    
}

Como sua classe ConnectionFactory está no namespace Vendor\Factory, o PHP procura a classe PDO dentro deste, e não no namespace global (\).

Espero ter ajudado.