有些主机让您的脚本创建数据库,有些则不然,并要求您使用其控制面板。如何检查数据库是否允许我使用给定的用户/密码运行此查询而不实际创建任何数据库?
因为如果我没有足够的权限,我只想完全隐藏UI中的“创建数据库”按钮。
我正在使用PHP和MySQL。感谢。
答案 0 :(得分:5)
您可以通过以下方式获得权利:
SHOW GRANTS FOR CURRENT_USER;
答案 1 :(得分:3)
正如Vartec所说,SHOW GRANTS FOR CURRENT_USER
是要走的路。我只是添加了这个答案,以便在您没有完整权限时显示该语句的输出:
GRANT USAGE ON *.* TO 'myusername'@'%' IDENTIFIED BY PASSWORD '*8D4A4D198E31D6EA9D7997F7B29A2BCA254178B6'
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, CREATE ROUTINE ON `mydb1`.* TO 'myusername'@'%'
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, CREATE ROUTINE ON `mydb2`.* TO 'myusername'@'%'
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, CREATE ROUTINE ON `mydb3`.* TO 'myusername'@'%'
答案 2 :(得分:1)
只需创建一个测试脚本
<?php
mysql_connect(...);
$result = mysql_query('CREATE DATABASE testDB');
if (!$result)
{
//Failed
}
else
{
mysql_query('DROP DATABASE testDB');
}
mysql_close();
?>
您可以在IF中定义一个变量,然后将其写入配置文件。