Когда у меня есть такая ситуация:
$databaseA = new mysqli($host,$user,$pass,"databaseA"); $databaseB = new mysqli($host,$user,$pass,"databaseB"); 
  Когда я определяю $databaseB , пытается ли mysqli повторно открыть соединение с $host или использует кешированное соединение из $databaseA ? 
благодаря
Предполагая, что у вас есть веская причина использовать две разные базы данных, единственный способ сделать эту работу одним подключением – с пользователем, имеющим привилегии для доступа к обеим базам данных. Было бы так:
 $db = new mysqli($host,$user,$pass); // connect to the MySQL server without specifying a database mysqli_select_db('databaseA', $db); // Specify your default/most-used database 
Если вы явно не укажете databaseB в своем запросе, MySQL будет использовать значение по умолчанию (databaseA). Таким образом, запрос, который получает один столбец из базы данныхB и два из базы данныхA, будет выглядеть так:
 $query = "SELECT databaseB.table.column, table.column, table.column2"; 
Для каждого объекта mysqli будет отдельное соединение.
Попробуйте
 SHOW FULL PROCESSLIST; 
на вашем сервере MySQL во время выполнения вы увидите два разных процесса, связанных с одним и тем же хостом, если ваш пример реализован.