2016-09-23 3 views
0

Я пытаюсь подключиться к базе данных с именем auth с использованием PHP. Я сделал базу данных с SequelPro и я соединяюсь с использованием MAMP Мой PHP кодНе удается подключиться к базе данных с помощью MAMP

$server = 'localhost'; 
$username = 'root'; 
$password = 'root'; 
$database = 'auth'; 

try { 
    $conn = new PDO("mysql:host=$server;dbname=$database; $username, $password"); 
} catch(PDOException $e) { 
    die("Connection failed ". $e->getMessage()); 
+0

Вы написали новое как разницу в try block .pl. проверить. $ conn = new PDO ("mysql: host = $ server; dbname = $ database ;, $ username, $ password"); – Cyclotron3x3

+1

'host = $ server' там не должно быть пробелов, и здесь есть паразитная запятая';, $ username'. Проведите время, чтобы внимательно прочитать руководство http://php.net/manual/en/pdo.connections.php –

+0

Я нахожусь на мобильном телефоне, так что это была опечатка в моем вопросе, я ее отредактировал. – user6867477

ответ

0

Ваше использование цитаты для подключения неправильно и делает это, только один параметр направляется в связи PDO. Правильный код:

$conn = new PDO("mysql:host=$server;dbname=$database;", $username, $password); 

Простой пример (https://eval.in/647408):

function simple($a, $b = 'empty', $c = 'empty') { 
    var_dump('a=' . $a); 
    var_dump('b=' . $b); 
    var_dump('c=' . $c); 
} 
simple('a,b,c'); 
echo "\n" . 'version 2' . "\n\n"; 
simple('a','b','c'); 

Выход:

string(7) "a=a,b,c" 
string(7) "b=empty" 
string(7) "c=empty" 

version 2 

string(3) "a=a" 
string(3) "b=b" 
string(3) "c=c" 

С запятые в кавычках они не читают в качестве параметра разделителей.