2015-08-03 4 views
-2

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

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

$option1 = new PDO('mysql:host=host1;dbname=db1', 'user1', 'pw1'); 
$option2 = new PDO('mysql:host=host2;dbname=db2', 'user2', 'pw2'); 
$option3 = new PDO('mysql:host=host3;dbname=db3', 'user3', 'pw3'); 

мне нужен скрипт, который пытается из каждого из вариантов, подключается к правой базе данных, и возвращает простой объект $ дб.

+2

Почему бы не просто определить, что HOST вы на? и затем используйте переключатель(), чтобы изменить детали? – Epodax

+0

Является ли мой ответ для вас? – Hassaan

+0

Да, спасибо! – Daniel

ответ

2

Попробуйте

if ($_SERVER['REMOTE_ADDR'] == '127.0.0.1' or $_SERVER['REMOTE_ADDR'] == '::1') 
{ 
    # LOCAL 
    define('dbhost', 'localhost'); 
    define('dbuser', 'root'); 
    define('dbpassword', ''); 
    define('dbname', 'db'); 
} else { 
    # REMOTE 
    define('dbhost', 'example.com'); 
    define('dbuser', 'remoteUser'); 
    define('dbpassword', 'remotePass'); 
    define('dbname', 'remoteDb'); 
} 

$conn = new PDO('mysql:host='.dbhost.';dbname='.dbname.', '.dbuser.', '.dbpassword); 
Смежные вопросы