2016-07-01 9 views
0

ユーザーと付与権限を作成します。このコードは、第三のクエリ中にハングアップ取得し続け Can I create a database using PDO in PHPPHP PDO MySQLデータベースと私はこのPHPの機能を持っている

:私はここに別の質問をオフに働いていた

function createDatabase($dbName,$dbPass) { 
     $host = 'localhost'; 
     $user = 'myuser'; 
     $user_password = 'mypass'; 
     $db = new PDO("mysql:host=$host", $user, $user_password); 
     $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
     try { 
      doLog('Creating Database...'); 
      $count = $db->exec("CREATE DATABASE `$dbName`"); 
      if($count === false) { 
      doLog('Could not create database'); 
      return false; 
      } 
      doLog('Creating User...'); 
      $count = $db->exec("CREATE USER '$dbName'@'localhost' IDENTIFIED BY '$dbPass'"); 
      if($count === false) { 
      doLog('Could not create user'); 
      return false; 
      } 
      doLog('Granting User Privileges...'); 
      $count = $db->exec("GRANT ALL ON `$dbName`.* TO '$dbName'@'localhost'"); 
      if($count === false) { 
      doLog('Could not grant user privileges'); 
      return false; 
      } 
      doLog('Flushing Privileges...'); 
      $count = $db->exec("FLUSH PRIVILEGES"); 
      if($count === false) { 
      doLog('Could not flush privileges'); 
      return false; 
      } 

     } catch (PDOException $e) { 
      doLog("DB ERROR: ". $e->getMessage()); 
      return false; 
     } 
     return true; 
    } 

SQLSTATE[42000]: Syntax error or access violation: 1044 Access denied for user

問題のMySQLユーザーには、許可を含むグローバル権限があります。他に何が欠けていますか?

+0

完全なエラーメッセージですか? 'Access denied for user'の後の何か? –

+0

はいユーザーをリストアップし、新しいデータベースの名前を言う – Helto

+0

ユーザー名は何ですか? –

答えて

0

The MySQL user in question has global permissions, including grant. What else could I be missing?

注目に値する。

あなたのデータベースには、ユーザがの権限を持っていないと表示されている場合はそうです。

これはエラーメッセージのポイントです:それを読んで修正する必要があります。それと同じくらい簡単です。

関連する問題