2013-04-02 94 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
相关问题