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