2014-06-25 3 views
2

Я не могу удалить базу данных из сырого MySql-запроса здесь. Есть ли способ лучше? Пожалуйста, предложите. Есть ли способ написать запрос на удаление базы данных в Zend. Я использую Zend 1.11Не удается удалить БД. Drop DB-запрос не работает

// Delete db function 
public function deleteDB($dbName){ 
// For database connection 
$config = new Zend_Config( 
    array(
    'database' => array(
    'adapter' => 'PDO_MYSQL', 
    'params' => array(
    'host'  => 'localhost', 
    'dbname' => $dbName, 
    'username' => 'root', 
    'password' => '', 
      ) 
    ) 
    ) 
); 
$db = Zend_Db::factory($config->database); 

//Delete database 
$sql = 'DROP DATABASE'. $dbName; 
$db->query($sql); 

ответ

2

Если конфигурация правильная, то попробуйте поставить пробел после DATABASE как

//Delete database 
$sql = "DROP DATABASE `". $dbName."`"; 
+0

Я пробовал. Он выдает ошибку как «Синтаксическая ошибка или нарушение прав доступа» – Shirshak

+0

Можете ли вы дать полное сообщение об ошибке – Sadikhasan

+0

SQLSTATE [42000]: Синтаксическая ошибка или нарушение доступа: 1064 У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с '' в строке 1 – Shirshak

0

$sql = 'DROP DATABASE'. $dbName;

Я думаю, вы пропустили пространство

$sql = 'DROP DATABASE '. $dbName;

+0

Я пробовал. Он выдает ошибку как «Синтаксическая ошибка или нарушение прав доступа» – Shirshak

+0

@ user3386487 Кажется, ваш пользователь mysql не имеет привилегий для сброса базы данных. – leo108

+0

Ive просто удалил db из консоли с того же имени пользователя. Кажется, это проблема Zend. Можете ли вы мне помочь? – Shirshak

Смежные вопросы