2013-09-23 5 views
0

У меня есть mac с OSX 10.8.4. Я установил свой localhost, и он работает нормально. Я сделал php-скрипт, откуда я хотел бы подключить базу данных workbench MySQL. Мой сервер apache tomcat запускается, а также mysql на компьютере, и я использую XAMPP. Это мой код:php подключиться к mysqlworkbench localhost

<?php 

// Establish connection to DB using PDO 
try { 
    $pdo = new PDO('127.0.0.1:3306', 'root', ''); 
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    $pdo->exec('SET NAMES "utf8"'); 
    echo "Connected!"; 
} catch (PDOException $e) { 
    $error = 'ERROR - Connection to DB failed: ' . $e->getMessage(); 
    echo "Connection failed"; 

    exit(); 
} 

Я попробовал этот скрипт для подключения к удаленному серверу, где он работает нормально, но я не могу использовать его для моего локального хоста. Я также попытался просто добавить локальный хост в новый PDO, но все тот же. Кто-нибудь знает, что не так?

С наилучшими пожеланиями Мадс

+0

Вы проверили номер порта, а также изменили хост? У вашего локального сервера MySql есть имя пользователя и пароль, которые вам нужны? – Hbcdev

+1

MySQL Workbench не является системой управления базами данных. MySQL есть. – BlitZ

+0

Вы уверены, что mysql работает на вашем localhost? –

ответ

0

Вы будете иметь более легкое время, зная, что не работает, если вы эхо исключение броска.

Ваш код

} catch (PDOException $e) { 
    $error = 'ERROR - Connection to DB failed: ' . $e->getMessage(); 
    echo "Connection failed"; 
} 

фактически не печатать исключение! Попробуйте это вместо:

} catch (PDOException $e) { 
    $error = 'ERROR - Connection to DB failed: ' . $e->getMessage(); 
    echo $error; 
} 

Это, по крайней мере, даст вам полезную информацию об отладке.

+0

Спасибо за ваш быстрый ответ. Теперь я получаю эту ошибку с кодом: ERROR - Подключение к БД не удалось: не удалось найти драйвер – McDuck4

+0

Это должно решить проблему: setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_EXCEPTION); $ pdo-> exec ('SET NAMES "utf8"'); echo "Connected!"; } catch (PDOException $ e) { $ error = 'ERROR - Ошибка соединения с БД:'. $ E-> GetMessage(); echo $ error; exit(); } ?> – McDuck4

+0

hm Это dosent разрешает проблему в любом случае, поэтому, если у кого-то еще есть идея, мне бы это понравилось :-) – McDuck4

Смежные вопросы