下面的PHP代码不适合我
我正在尝试为我的mysql数据库创建一个新用户,并使用它登录以创建一个新数据库。我尝试了以下代码。但它会导致一些错误下面的PHP代码不适合我,php,mysql,Php,Mysql,我正在尝试为我的mysql数据库创建一个新用户,并使用它登录以创建一个新数据库。我尝试了以下代码。但它会导致一些错误 <?php $mysqli=new mysqli("localhost","username","password@123") or die("........."); $mysqli->query("CREATE USER 'new_username'@'localhost' IDENTIFIED BY '123456';"); $mysqli->quer
<?php
$mysqli=new mysqli("localhost","username","password@123") or die(".........");
$mysqli->query("CREATE USER 'new_username'@'localhost' IDENTIFIED BY '123456';");
$mysqli->query("GRANT ALL ON db1.* TO 'new_username'@'localhost'");
$mysqli->close();
$mysqli=new mysqli("localhost","new_username","123456") or die(".........");
if($mysqli->query("Create database if not exists New_DB_Name")){
"Failed creating new database: ".$mysqli->connect_errno();
die();
}
$mysqli->select_db("New_DB_Name");
$mysqli->close(); ?>
编辑:实际上它并没有创建新用户。这就是问题所在。您的连接线有问题:
$mysqli=new mysqli("localhost","username","password@123") or die(".........");
您不能对连接使用localhost
,它必须是127.0.0.1
更多信息:检查您的数据库权限。该错误表示sql用户
用户名
没有创建用户权限
从脚本中创建用户是一件不同寻常的事情,除非您希望以自动化的方式创建许多用户
您可能希望使用管理界面创建一次所需的用户名,然后使用PHP脚本创建模式的所有方面:数据库、表、索引等。尝试将
根目录
替换为用户名
。默认的mysql用户名是root
如果用户存在,则必须更改此行:
$mysqli->query(“创建用户'new_username'@'localhost',由'123456'标识;”)代码>
与
$mysqli->query(“创建新用户_username@localhost标识为“123456”;”代码>
由于mysql不支持单引号
,但支持“``在查询和连接后添加错误报告。连接中没有错误,直到相同的错误我将所有localhost
替换为127.0.0.1
。但是没有积极的结果。localhost与127.0.0.1相同。为什么你认为一个必须使用,另一个必须避免?@wallyk是的,这是一样的,请遵循我发布的链接,文档明确说明你不能使用localhost
让我向托管提供商询问你是对的,该权限已被托管提供商阻止。谢谢你的回答。谁投了反对票。我的问题是没有违反条款
$mysqli=new mysqli("localhost","username","password@123") or die(".........");