警告:mysqli_connect():( HY000 / 1045):拒绝访问用户'用户名' @' localhost' (使用密码:YES)在第6行的C:\ Users \ xampp \ htdocs \ PHP_Login_Script \ config.php
警告:mysqli_real_escape_string()要求参数1为mysqli,第10行的C:\ Users \ xampp \ htdocs \ PHP_Login_Script \ login.php中给出布尔值
警告:mysqli_real_escape_string()要求参数1为mysqli,布尔值在第11行的C:\ Users \ xampp \ htdocs \ PHP_Login_Script \ login.php中给出
警告:mysqli_query()要求参数1为mysqli,第15行的C:\ Users \ xampp \ htdocs \ PHP_Login_Script \ login.php中给出布尔值
警告:mysqli_fetch_array()要求参数1为mysqli_result,在第16行的C:\ Users \ xampp \ htdocs \ PHP_Login_Script \ login.php中给出null
警告:mysqli_num_rows()要求参数1为mysqli_result,在第19行的C:\ Users \ xampp \ htdocs \ PHP_Login_Script \ login.php中给出null
我在localhost上遇到此错误,即使我的配置文件是这样的:
<?php
define("DB_HOST", "localhost");
define("DB_USER", "root");
define("DB_PASSWORD", "");
define("DB_DATABASE", "databasename");
$db = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
?>
这曾经有用,但现在它已经不存在了。这段代码有问题还是现在不能正常工作? This是我正在处理的教程。
答案 0 :(得分:14)
不允许用户名,主机和密码的组合连接到服务器。验证服务器上的权限表(如果需要,重新加载授权)以及您正在连接到正确的服务器。
答案 1 :(得分:13)
如果您正在运行wamp update
define("DB_HOST", "localhost");
到您的机器IP地址(我的是192.168.0.25);
define("DB_HOST", "192.168.0.25");
您可以在控制台中键入ipconfig或在mac / linux上输入ifconfig
,在窗口中找到它答案 2 :(得分:8)
mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
使用DB_HOST而不是DB_SERVER
答案 3 :(得分:6)
看看你的代码 您定义了DB_HOST并查询了DB_SERVER。 DB_USER和DB_USERNAME 使用此代码
define("DB_SERVER", "localhost");
define("DB_USER", "root");
define("DB_PASSWORD", "");
define("DB_DATABASE", "databasename");
$connect = mysqli_connect(DB_SERVER , DB_USER, DB_PASSWORD, DB_DATABASE);
答案 4 :(得分:5)
确保您的密码没有特殊字符并且只保留一个普通密码(例如:12345),它会起作用。这是我见过的最奇怪的事情。我花了大约2个小时来解决这个问题。
注意:下面提到的12345是您的普通密码
$arr['frequency'] = 'weekly';
$arrs = [
'weekly' => [11,22,33],
];
var_dump($arrs[$arr['frequency']]);
答案 5 :(得分:3)
你定义为DB_USER,但用作DB_USERNAME。另外php说用户名@ localhost无法访问。不是root @ localhost。
更改您的定义或连接参数。
答案 6 :(得分:1)
90%的时间尝试上述答案,这将是您的问题。对我来说,我的问题是我的数据库密码中包含$。
$servername = '127.0.0.1';
$username = 'user_bob';
$password = 'sdfasdf$B';
$conn = mysqli_connect($servername, $username, $password, 'any_database');
//DO NOT USE DOUBLE QUOTES;
//$password = "sdfasdf$B";
答案 7 :(得分:1)
这是你的代码:
int sum_up(int arr[], size_t size) { //Function to sum up a C-style array
int sum = 0;
for (size_t i = 0; i < size; i++)
sum += arr[i];
return sum;
}
int sum_up(array<int, ARR_SIZE> arr) {
int sum = 0;
for (size_t i = 0, size = arr.size(); i < size; i++)
sum += arr[i];
return sum;
}
int sum_up(vector<int> vec) {
int sum = 0;
for (size_t i = 0, size = vec.size(); i < size; i++)
sum += vec[i];
return sum;
}
导致此消息的唯一错误是:
<?php
define("DB_HOST", "localhost");
define("DB_USER", "root");
define("DB_PASSWORD", "");
define("DB_DATABASE", "databasename");
$db = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
?>
但是您在DB_USER
之后进行了调用。下次请更加小心。
对于想要在DB_USERNAME
中开始编码的入门级程序员来说,最好不要使用他或她不太了解的内容。
仅作为建议,请尝试使用(第一次)更普遍的代码。
例如:不要使用PHP
语句,尝试将变量声明用作define()
有一个很好的经历:)
答案 8 :(得分:1)
XAMPP 7和opencart Arabic 3面临同样的问题。 用实际的机器名替换localhost会重新解决问题。
答案 9 :(得分:0)
有人使用XAMPP 8。实际上XAMPP在VM中安装了MySQL,所以通过XAMPP中显示的IP地址连接它。本地主机上没有 MySQL 服务器。 {{3}}
答案 10 :(得分:0)
并不是说输入密码时任何人都可以打开CAPS ...但是它可以给出此错误。
答案 11 :(得分:0)
使用此
设置之后,您将不会再收到此问题
SET PASSWORD FOR root@localhost = PASSWORD('your_root_password');
使用此查询后,我陷入了这个问题
答案 12 :(得分:0)
我已经在此处修复了一些问题,此处定义的“ DB_HOST”也应该位于该位置,并且“ DB_USER”也被称为“ DB_USER”,请始终检查代码是否相同。 >
<?php
define("DB_HOST", "localhost");
define("DB_USER", "root");
define("DB_PASSWORD", "");
define("DB_DATABASE", "");
$db = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);
?>
答案 13 :(得分:0)
就我而言,问题是:
define ('DB_PASSWORD', "MyPassw0rd!'");
(双数之前的单数')
答案 14 :(得分:0)
我尝试使用与root
设置的用户不同的用户连接时遇到此错误。
在mysql中,我设置了用户MofX
与主机%
,但它无法连接。
当我将用户的主机更改为127.0.0.1
时,如'MofX'@'127.0.0.1'那样,它有效。
答案 15 :(得分:0)
上面已经回答了这个问题,只是为了让你在连接中同时使用所有四个字符串感到舒服
<?php
define("DB_HOST", "localhost");
define("DB_USER", "root");
define("DB_PASSWORD", "");
define("DB_DATABASE", "databasename");
$db = new mysqli(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
// you could test connection eventually using a if and else conditional statement,
// feel free to take out the code below once you see Connected!
if ($db) {
echo "Connected!";
} else {
echo "Connection Failed";
}
?>
答案 16 :(得分:0)
使用AWS RDS MySQL,我遇到同样的问题。刚才,answered类似question。看了各种各样的消息来源,但截至本帖,几乎都缺乏答案。 虽然这个线程帮助了我,但请记住更新服务器上的主机名。访问您的SSH并按照以下步骤操作:
include
现在,在此处附加您的主机名:例如:
cd /etc/
sudo nano hosts
现在,按如下方式配置127.0.0.1 localhost
127.0.0.1 subdomain.domain.com [if cname redirected to endpoints]
127.0.0.1 xxxxxxxx.xxxx.xxxxx.rds.amazonaws.com [Endpoints]
:
config/database.php
其中$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => '35.150.12.345',
'username' => 'user-name-here',
'password' => 'password-here',
'database' => 'database-name-here',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
是您的 IPv4公共IP ,位于35.150.12.345
IP('35 .150.12.345')。
注意:请注意,只有IPV4才能使用'hostname'选项。 hostname,cname,domains将输出数据库连接错误。
答案 17 :(得分:0)
定义参数中存在拼写错误,将 DB_HOST 更改为 DB_SERVER ,将 DB_USER 更改为 DB_USERNAME :< / p>
<?php
define("DB_SERVER", "localhost");
define("DB_USERNAME", "root");
define("DB_PASSWORD", "");
define("DB_DATABASE", "databasename");
$db = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
?>
答案 18 :(得分:-1)
$db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
Put " DB_HOST " instead of " DB_SERVER " also
put " DB_USER " Instead of " DB_USERNAME "
比工作正常!
答案 19 :(得分:-1)
你有两个同时连接吗?如果是这样,请在每次不需要时关闭。
答案 20 :(得分:-2)
尝试更改:
define("DB_SERVER", "localhost");
到此:
define("DB_SERVER", "127.0.0.1");
答案 21 :(得分:-2)
尝试
define("DB_PASSWORD", null);
这些都是警告 试试
$db = @mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
但我会建议您设置root密码