Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
下面的PHP代码不适合我_Php_Mysql - Fatal编程技术网

下面的PHP代码不适合我

下面的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

我正在尝试为我的mysql数据库创建一个新用户,并使用它登录以创建一个新数据库。我尝试了以下代码。但它会导致一些错误

<?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(".........");