2013-04-02 93 views
0

我想創建一個數據庫,如果它不存在。代碼是在這裏:創建數據庫,如果不存在php mysql

<?php 
// Connect to MySQL 
$link = mysql_connect('host', 'user', 'pw'); 
if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 

// Make studentdb the current database 
$db_selected = mysql_select_db('StudentDB', $link); 

if (!$db_selected) { 
    // If we couldn't, then it either doesn't exist, or we can't see it. 
    $sql = 'CREATE DATABASE StudentDB'; 

    if (mysql_query($sql, $link)) { 
     echo "Database StudentDB created successfully\n"; 
    } else { 
     echo 'Error creating database: ' . mysql_error() . "\n"; 
    } 
} 

mysql_close($link); 
?> 

我得到這個錯誤:

錯誤創建數據庫:拒絕訪問用戶myusernamehere'數據庫 'StudentDB'

用戶具有DBA權限...我猜這是我的用戶的權限錯誤....我如何通過腳本授予用戶權限並使此腳本有效?

+0

您無法通過這個代碼,你需要'grant'您用戶權限用您的root用戶(或具有授予訪問權限的其他用戶)創建數據庫。 – Jon

+1

[請勿使用'mysql_ *'函數](http://stackoverflow.com/q/12859942/1190388)碼。他們不再被維護,並[正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。看到紅色框?改爲了解準備好的語句,然後使用[tag:PDO]或[tag:MySQLi]。 – hjpotter92

回答

0

您要使用的用戶沒有權限的使用CREATE

嘗試切換到有需要就manipulting數據庫或 所需權限的添加到您正在使用

該用戶的所有權限的另一個用戶
+0

我用DBA創建了一個用戶....在phpmyadmin裏我簡單地嘗試了CREATE DATABASE測試;並且我仍然獲得用戶 – Kenny

+0

拒絕的錯誤權限是您的問題解決? –

0

它的發生給我,以下解決了這個問題:

  1. 首先使用代碼來修改數據庫之前進入主 LO calhost/index.php文件頁面,然後選擇phpMyAdmin的數據庫管理
  2. 比後確保您loged作爲admin
相關問題