2013-03-13 2 views
-3

Будет ли это работать, или я должен сначала отключиться?Можно ли переключить базу данных с помощью mysql_select_db?

<?php 
mysql_connect('localhost','root',''); 
mysql_select_db('DB1'); 
//Code... 
//Now I need to change of db 
mysql_select_db('DB2'); 
//More code... 

Я знаю, MySQL() является устаревшим, но я работаю с старой (не так много) системой. Благодаря!

+7

вы пробовали это? – deceze

+1

только один рекомендация. не используйте древние функции 'mysql'. используйте 'mysqli' вместо – aacanakin

+0

@deceze Пока нет. Сейчас я немного занят. Я все еще думаю о своей следующей деятельности. –

ответ

1

Документация сказать да:

Ref: http://php.net/manual/en/function.mysql-select-db.php

Все запросы будут работать на текущей активной базы данных, в этом случае DB2.

Устанавливает текущую активную базу данных на сервере, который связан с идентификатором в указанной ссылке. Каждый последующий вызов mysql_query() будет выполнен в активной базе данных.

+0

Спасибо. Сейчас я читаю документы. –

+0

you're welcome =) – GarouDan

1

Вы можете использовать его в SQL, как

SELECT `database`.`table`.`value` FROM `database`.`table` 
+0

Это означает, что она должна обновлять каждый SQL-запрос. –

+0

Я знаю, но я бы потерял так много времени, переписывая запросы. –

1

docs говорят:

Устанавливает текущую активную базу данных на сервере, который связан с определенным идентификатором связи. Каждый последующий вызов mysql_query() будет выполнен в активной базе данных.

Так что да. Я думаю, это сопоставимо с командой use <database> на клиенте.

+0

Я вижу. Благодарю. На мгновение я забыл документы. –

0

вы можете иметь более одного активного соединения

$db1=mysql_connect('localhost','root',''); 
mysql_select_db('DB1', $db1); 

$db2=mysql_connect('localhost','root',''); 
mysql_select_db('DB2', $db2); 

mysql_query("SELECT * FROM table", $db1); 
mysql_query("SELECT * FROM table", $db2); 
+0

см. Ответ на запрос от Bart Friederichs – Waygood

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