2013-06-26 4 views
2

В моем PHP apicación я подключаюсь к базе данных MySQL с PDO, но у меня возникает следующая проблема: сообщение об ошибке;Я не могу соединиться с PHP PDO

Warning: PDO :: __construct() [pdo. - Construct]: [2002] 
"No connection Could be made ​​Actively Because the target machine refused it." 
(trying to connect via tcp ://localhost: 3306) 

Fatal error: Uncaught exception 'Exception' with message 'Connection failed: SQLSTATE [HY000] [2002] 

Код для доступа к базе данных является:

private $db = NULL; 

    const DB_SERVER = "localhost"; 
    const DB_USER = "root"; 
    const DB_PASSWORD = "usbw"; 
    const DB_NAME = "status_poster"; 

    public function __construct() { 
    //**below the error here!!** 
    $dsn = 'mysql:dbname=' . self::DB_NAME . ';host=' . self::DB_SERVER;// 
    //var_dump($dsn); 
    try { 
     $this->db = new PDO($dsn, self::DB_USER, self::DB_PASSWORD); 
    } catch (PDOException $e) { 
     throw new Exception('Connection failed: ' . $e->getMessage()); 
    } 

    return $this->db; 
    } 

Что я нахожу странным является то, что одни и те же параметры для подключения не к «MySQLi» У меня никаких проблем, и я подключаю успешно, запустите заявления CRUD и нет проблем, код выглядит следующим образом;

Код

function getProducts() { 
    $products = array(); 
    $mysqli = new mysqli("localhost", "root", "usbw", "Datos"); 
    if (mysqli_connect_errno()) { 
     printf("Error in conection: %s\n", mysqli_connect_error()); 
     exit(); 
    } 
    $query = "SELECT Id,sku,name,price FROM products"; 
    if ($result = $mysqli->query($query)) { 
     while ($obj = mysqli_fetch_object($result)) { 
     //instructions... 
     } 
    } 
    $mysqli->close(); 
    return $products; 
    } 

Ну, мне нужно соединиться с PDO, но я не могу найти решение, ждет предложений или помочь!

Извините, не можете найти в форуме, как ответить изображением, но это;

Решите мою проблему, измените порт с 3307-3306 (3306 был портом, который вышел по ошибке) USBWebserver. Теперь работать!

enter image description here

Примечание: над портом было 3307

+2

Попробуйте '127.0.0.1' вместо' localhost' в случае, если IPv6 отключит вас. –

+0

Привет !, попробуйте это: const db_server = "127.0.0.1", и по-прежнему является ошибкой! – MauricioHz

+2

решить мою проблему, изменить порт с 3307-3306 (3306 был портом, который вышел по ошибке) USBWebserver. Теперь работать! – MauricioHz

ответ

1

решить мою проблему, измените порт от 3307-3306 (3306 был порт, который вышел по ошибке) из USBWebserver. Теперь работать!

+0

спасибо: D отлично –