Могу ли я переключить базу данных с помощью 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() устарела, но я работаю со старой (не такой большой) системой. Спасибо!

4 ответа

Документация говорит да:

Ссылка: http://php.net/manual/en/function.mysql-select-db.php

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

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

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

SELECT `database`.`table`.`value` FROM `database`.`table`

Документы говорят:

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

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

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

$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);
Другие вопросы по тегам