2015-03-05 2 views
0

Итак, ситуация на локальном хосте выглядит как работа (mamp pro), и проблем нет, но когда я загружаю ее на сервер, она дает мне ошибку:PHP PDO SQLSTATE [HY000] [2002] Connection failed

SQLSTATE[HY000] [2002] Connection refused 

Не знаю, что это значит, ищите по сети, но не нашли решения. вот как я делаю подключение к базе данных:

define("SERVER_SQL_VERSION","mysql"); 
define("SQL_SERVER","localhost"); 
define("SQL_PORT","3306"); 
define("SQL_USERNAME","userdb_new"); 
define("SQL_PASSWORD","92384923jjdhasj"); 
define("SQL_DB_NAME","usernew_db"); 
define('PREFIX', 'tb_'); 
if(!function_exists('pdoConnect')) { 
function pdoConnect() { 
    $pdo = new  PDO(SERVER_SQL_VERSION.":host=".SQL_SERVER.";dbname=".SQL_DB_NAME."", "".SQL_USERNAME."", "".SQL_PASSWORD.""); 
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); 
    return $pdo; 
} 
} 
$db = pdoConnect(); 

Любая помощь относительно этого будет признателен, спасибо.

+0

Имеются ли данные подключения (в частности, имя хоста и порт) для сервера? – stwalkerster

+0

yep все подробности действительны только имя хоста я отредактировал для публикации в качестве вопроса –

ответ

0

Так что я пытаюсь понять это:

$pdo = new PDO(SERVER_SQL_VERSION.":host=".SQL_SERVER.";dbname=".SQL_DB_NAME."", "".SQL_USERNAME."", "".SQL_PASSWORD.""); 

Но я запутаться в двойных кавычках. Что они там делают? Попробуйте следующее:

$dsn = SERVER_SQL_VERSION.':host='.SQL_SERVER.';dbname='.SQL_DB_NAME; 
$pdo = new PDO($dsn,SQL_USERNAME,SQL_PASSWORD); 
+0

Не знаю, что это сделал, но он работает :). thnx mate;) –

+0

Ну, какой сюрприз, я не был уверен в этом вообще. Во всяком случае, я думаю, что это выглядит намного лучше. –

+0

может быть какая-то цитата или что-то еще, ну thnx: =) –