Проверка на существование базы данных

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
NeverDie
Сообщения: 70
Зарегистрирован: 2012.05.13, 04:05
Откуда: Минск
Контактная информация:

Проверка на существование базы данных

Сообщение NeverDie »

Как в yii правильно делать проверку на существования базы данных из кода? Проверку надо сделать 1 раз из views. Смотрел код фреймворка, ничего подходящего не нашел (

HQ0
Сообщения: 182
Зарегистрирован: 2012.10.17, 17:21

Re: Проверка на существование базы данных

Сообщение HQ0 »

Прости, но зачем во view проверять существование базы?

Аватара пользователя
NeverDie
Сообщения: 70
Зарегистрирован: 2012.05.13, 04:05
Откуда: Минск
Контактная информация:

Re: Проверка на существование базы данных

Сообщение NeverDie »

Под каждого пользователя создается своя база. И надо вывести ccылку/кнопку, при клике на которую пользователь бы смог себе создать эту базу (требуется для расширения функционала и прочего). И хочу сделать проверку, что если база уже создана, то писать "бла бла, база создана", а если не создана, то выводить ссылку/кнопку для создания.


Аватара пользователя
yiijeka
Сообщения: 3091
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: Проверка на существование базы данных

Сообщение yiijeka »

Код: Выделить всё

$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';

try {
    $dbh = new PDO($dsn, $user, $password);
    echo 'бла бла, база создана';
} catch (PDOException $e) {
    echo 'ссылка/кнопка для создания.'
} 
Или с помощью yii CDbConnection

Код: Выделить всё

            try {            
                $connection = new CDbConnection($this->getDsn(), $this->dbUserName, $this->dbPassword);
                $connection->connectionStatus;
                $connection = null;
            }   catch (CDbException $e) {
               echo $e->getMessage();
            } 

Аватара пользователя
S c
Сообщения: 881
Зарегистрирован: 2012.04.11, 14:46

Re: Проверка на существование базы данных

Сообщение S c »

Код: Выделить всё

if(mysql_query('DROP TABLE table_name'))
  echo "таблица существовала ;("; 

Аватара пользователя
yiijeka
Сообщения: 3091
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: Проверка на существование базы данных

Сообщение yiijeka »

Я не понимаю - вы все советуете какие-то TABLE, вопрос же про БАЗЫ ДАННЫХ.

Аватара пользователя
S c
Сообщения: 881
Зарегистрирован: 2012.04.11, 14:46

Re: Проверка на существование базы данных

Сообщение S c »

ну да, туплю что то

Outsider
Сообщения: 27
Зарегистрирован: 2013.04.12, 05:37

Re: Проверка на существование базы данных

Сообщение Outsider »

1.

Код: Выделить всё

SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'dbname'
2.

Код: Выделить всё

SHOW DATABASES LIKE 'dbname';
3.

Код: Выделить всё

SHOW DATABASES;
4.

Код: Выделить всё

USE dbname
5.

Код: Выделить всё

echo (!mysql_select_db($dbname,$dbconnection)) ? 'недоступна' : 'доступна';

Ответить