programing

경고: mysqli_connect(): (HY000/1045):사용자 'username'@'localhost'에 대한 액세스가 거부되었습니다(암호: YES 사용).

prostudy 2022. 9. 13. 21:45
반응형

경고: mysqli_connect(): (HY000/1045):사용자 'username'@'localhost'에 대한 액세스가 거부되었습니다(암호: YES 사용).

경고: mysqli_connect(): (HY000/1045):C:에서 사용자 'username'@'localhost'에 대한 액세스가 거부되었습니다(암호: YES 사용).\Users\xampp\htdocs\PHP_Login_Script\config.6행의 php

경고: mysqli_real_escape_string()은 파라미터 1을 mysqli(C: 부울)로 예상합니다.\Users\xampp\htdocs\PHP_Login_Script\login.10행의 php

경고: mysqli_real_escape_string()은 파라미터 1을 mysqli(C: 부울)로 예상합니다.\Users\xampp\htdocs\PHP_Login_Script\login.11행의 php

경고: mysqli_query()는 파라미터 1이 mysqli(C: 부울)가 될 것으로 예상합니다.\Users\xampp\htdocs\PHP_Login_Script\login.15행의 php

경고: mysqli_fetch_array()는 매개 변수 1이 mysqli_result이며 C:에 null이 지정됩니다.\Users\xampp\htdocs\PHP_Login_Script\login.16행의 php

경고: mysqli_num_rows()는 매개 변수 1이 mysqli_result이며 C:에 null이 지정됩니다.\Users\xampp\htdocs\PHP_Login_Script\login.19행의 php

config 파일이 다음과 같은 경우에도 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);

?>

예전에는 이게 먹혔는데 지금은 안 먹혀요.이 코드에 무슨 문제가 있나요, 아니면 지금 작동이 안 되나요?이게 제가 지금 작업하고 있는 튜토리얼입니다.

이 사용자 이름, 호스트 및 비밀번호 조합은 서버에 연결할 수 없습니다.서버의 권한 테이블(필요한 경우 권한 새로 고침)과 올바른 서버에 연결 중인지 확인합니다.

wamp 업데이트를 실행하고 있는 경우

define("DB_HOST", "localhost");

사용하시는 머신의 IP 주소(내 주소는 192.168.0.25)

define("DB_HOST", "192.168.0.25");

콘솔에서 ipconfig를 입력하거나 mac/linux에서 ifconfig를 입력하면 창에서 찾을 수 있습니다.

패스워드에 특수문자가 포함되어 있지 않은 것을 확인하고, 플레인 패스워드(예:12345)를 보관해 주세요.이건 내가 본 것 중 가장 이상한 일이다.이걸 알아내는데 2시간 정도 걸렸어요

주의: 아래 12345는 일반 비밀번호입니다.

GRANT ALL PRIVILEGES ON dbname.* TO 'yourusername'@'%' IDENTIFIED BY '12345';

mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE);

DB_SERVER 대신 DB_HOST 사용

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);

DB_USER로 정의하지만 DB_USERNAME으로 사용합니다. 또한 php는 username@localhost가 액세스할 수 없다고 말합니다.root@localhost가 아닙니다.

정의 매개 변수 또는 연결 매개 변수를 변경합니다.

여기서 몇 가지를 수정했습니다.여기서 정의되어 있는 'DB_HOST'도 아래쪽에 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);
?>

XAMPP 7과 오픈카트 아랍어 3에서도 같은 문제가 발생했습니다.localhost를 실제 시스템 이름으로 바꾸면 문제가 다시 발생합니다.

을 사용하다

에는 이 .

SET PASSWORD FOR root@localhost = PASSWORD('your_root_password');

이 쿼리를 사용한 후 이 문제에 대해 모든 것이 해결되었습니다.

코드는 다음과 같습니다.

<?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);

?>

이 메시지를 발생시키는 유일한 오류는 다음과 같습니다.

  1. DB_USER 지금 DB_USERNAME.

다음부터 좀 더 주의하세요.

programmermer that in in in in in in in in in in in in in in in in in in in in in로 코딩을 하려는 엔트리 합니다.PHP잘 모르는 것을 사용하지 않도록 한다.

참고로, (처음) 코드를 더 많이 사용해 보세요.

ex는 .define()을 아, 아, 아, 아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아.$db_user = 'root';

좋은 경험 되세요:)

위의 질문에 답했습니다.연결에서 4개의 스트링을 동시에 사용하는 것을 편안하게 하기 위해서입니다.

<?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";
  }
?>

, 른른른른른른른 than than than than than than than than than than than 가 아닌 다른 사용자와 하려고 할 때 했습니다.root근근을제제제제제겁겁겁겁겁겁겁

mysql을 설정했습니다.MofX 「」를 사용해 주세요.%연결이 안 되더라고요.

를 ""로 때"127.0.0.1.0.MofX'@'127.0.0.1'입니다.

변수 정의에 오류가 있습니다. DB_HOST를 DB_SERVER, DB_USER를 DB_USERNAME으로 변경합니다.

<?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);

?>

AWS RDS MySQL에서도 같은 문제가 발생하였습니다.방금 전에, 여기서 비슷한 질문에 대답했습니다.다양한 출처를 찾아봤지만, 현재로선 거의 답이 없습니다.이 스레드는 도움이 되었지만 서버에서 호스트 이름을 업데이트하도록 유의하십시오.SSH 에 액세스 해, 다음의 순서에 따릅니다.

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
);

서 ''는35.150.12.345IPv4 Public IP 는, 다음의 URL 에 있습니다.ec2-dashboard > Network Interfaces > Description : RDSNetworkInterface >> IPv4 PublicIP('35.150.12.345')

참고: 'hostname' 옵션에서는 IPV4만 작동합니다.hostname, cname, domains는 데이터베이스 연결 오류를 출력합니다.

제 경우 문제는 다음과 같습니다.

define ('DB_PASSWORD', "MyPassw0rd!'");

(더블 " 앞에 홀수 싱글 "이 있음)

이것이 고객의 문제인 경우는, 상기의 회답의 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"; 

패스워드를 입력할 때 CAPS를 붙이는 일은 없습니다.이 에러가 발생할 수 있습니다.

다른 사용자의 경우 XAMPP 8을 사용합니다. 실제로 XAMPP는 VM에 MySQL을 설치하므로 XAMPP의 IP 주소 표시를 통해 연결합니다.localhost에 MySQL 서버가 없습니다.여기에 이미지 설명 입력

이는 여러 가지 이유로 발생할 수 있습니다.저 같은 경우에는 포트만 바꾸면 됩니다.DB_HOST를 정의할 때 콜론 뒤에 지정하면 됩니다.

define( 'DB_HOST', localhost:3308 )

phpmyadmin 데이터베이스의 권한 섹션에서 권한 있는 사용자와 암호를 사용해야 합니다.기본 사용자는 "root"이며 비밀번호는 없습니다.w3schools에서 검색하다가 스크립트 전체를 복사해서 붙여넣고 그게 문제라는 걸 알게 됐어요.

문제를 해결한 것은 다음과 같습니다.

config.inc.php를 엽니다.

/* Authentication type and info */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'something';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Lang'] = '';

이것은 파일의 일부입니다.패스워드를 삭제하고 localhost/myphpadmin(이 에러가 발생한 장소)에 로그인할 수 있었습니다.관리자에게 문의하는 등 다른 곳에서 문제가 발생할 수 있습니다.

파일을 재인스톨 해 재복사했기 때문에, 이 문제가 발생하게 되었습니다.패스워드를 삭제하고 myphpadmin에 접속하여 거기에서 데이터베이스에 패스워드를 설정하고 위와 같은 파일을 다시 작성했습니다.

동시에 2개의 접속이 있습니까?이 경우 필요하지 않을 때마다 닫으십시오.

$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 " 

더 잘 작동하고 있어!

해라

define("DB_PASSWORD", null);

그리고 그건 경고입니다.

$db = @mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);

단, 루트 패스워드를 설정하는 것을 추천합니다.

변경 시도:

define("DB_SERVER", "localhost");

다음과 같이 입력합니다.

define("DB_SERVER", "127.0.0.1");

언급URL : https://stackoverflow.com/questions/25174183/warning-mysqli-connect-hy000-1045-access-denied-for-user-usernameloca

반응형