【发布时间】:2017-01-10 16:52:28
【问题描述】:
我想用 PHP 在 MySQL 数据库中创建一个表。这是我的尝试:
$dbhost = 'rdbms.strato.de';
$dbusername = 'Userxxx';
$dbuserpass = 'Passwordxxx';
$dbname = 'DBxxx';
$link_id = mysql_connect ($dbhost, $dbusername, $dbuserpass);
echo "success in database connection.";
if (!mysql_select_db($dbname)) die(mysql_error());
echo "success in database selection.";
$result = "CREATE TABLE address_book (first_name VARCHAR(25), last_name VARCHAR(25), phone_number VARCHAR(15))";
if (mysql_query($result)){
echo "TABLE created.";
}
else {
echo "Error in CREATE TABLE.";
}
但这给了我错误
success in database connection.Access denied for user XXX to database XXX
我搜索了很多,但没有找到成功的解决方案。有人有想法吗?
【问题讨论】:
-
您的 MySQL 用户是否有对该数据库的写入权限?如果没有,请查看此链接:dev.mysql.com/doc/refman/5.7/en/grant.html
-
似乎不允许您选择 DBxxx。您的用户是否拥有正确的权限?
-
您当前用于连接的用户
$dbusername无权在选定的DB$dbname中创建表address_book。 -
你不应该使用任何 mysql_* 函数。它们自 php 5.5 起已被弃用,并在 php 7.0 中完全删除
-
请注意以上部分内容。错误是在尝试创建表之前。