Изменить текущую выбранную базу данных - PullRequest
1 голос
/ 17 июля 2011

Еще раз спасибо за просмотр моего вопроса.

Я пишу программу php, где впервые использую несколько баз данных, хранящихся в одной среде сервера mysql.

Первая база данных обрабатывает общие данные, такие как информация для входа в систему и профили пользователей (включая имя базы данных, которая принадлежит этому профилю)

Другие базы данных (как указано выше) относятся ккаждый профиль и содержат конфиденциальную информацию, следовательно, держать их отдельно.В этих базах данных много информации, приблизительно 12 таблиц с сотнями и тысячами записей в каждой.

Итак, моя проблема.

Я создал около 10 веб-страниц и использую php "require_once ()" для включения частей, общих для каждой страницы, таких как соединение с базой данных.Я гарантирую, что каждая страница закрывает соединение после выполнения.

в этом сценарии я создал следующую функцию

// Function to connect a specific database
    function dbc($dbhost, $dbuser, $dbpass, $compDbase){        
        return mysqli_connect($dbhost, $dbuser, $dbpass, $compDbase) or die ('Error connecting to mysql server, database supplied' . mysqli_error());       
    }

первые три переменные являются статическими и задаются в одном файле, который включен во все документы, требующие подключения.$ CompDbase добавляется при вызове, например, здесь

dbc($dbhost, $dbuser, $dbpass, 'database_user1');

Но, похоже, это не работает.Я попытался добавить mysqli_close ($ dbc);которое является именем общей базы данных, перед вызовом функции.Я также попытался

mysqli_select_db('database_user1', $dbc);

, чтобы увидеть, могу ли я изменить базу данных, которая в данный момент выбрана, ни одна из них не работает, и mysqli не выдает никакой информации, используя mysqli_error ();

любые подсказки?



Я ответил на него.

Все, что мне нужно было добавить, было в запросе "database.table"

поэтому сначала я использовал общее соединение с базой данных $ dbc.Код выглядит так

$query = "SELECT * FROM database_user1.skill";

1 Ответ

1 голос
/ 17 июля 2011

Эй, вы можете не просто выполнить команду mysql: используйте db1, используйте db2?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...