web-dev-qa-db-ja.com

警告:mysqli_connect():(HY000 / 1045):ユーザー 'username' @ 'localhost'のアクセスは拒否されました(パスワードを使用:YES)

警告:mysqli_connect():(HY000/1045):6行目のC:\ Users\xampp\htdocs\PHP_Login_Script\config.phpでユーザー 'username' @ 'localhost'のアクセスが拒否されました(パスワード:YESを使用)

警告:mysqli_real_escape_string()は、パラメーター1がmysqliであり、C:\ Users\xampp\htdocs\PHP_Login_Script\login.phpの10行目にブール値が指定されることを想定しています

警告: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であると想定しています。C:\ Users\xampp\htdocs\PHP_Login_Script\login.phpの行19

構成ファイルが次のような場合でも、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);

?>

これは以前は機能していましたが、現在はもう機能しません。このコードに問題はありますか、それとも現在動作していませんか? これ は、現在取り組んでいるチュートリアルです。

27
user2805663

ユーザー名、ホスト、およびパスワードのその組み合わせは、サーバーへの接続を許可されていません。サーバー上のアクセス許可テーブル(必要に応じて許可を再読み込みする)と、正しいサーバーに接続していることを確認します。

ワンプアップデートを実行している場合

define("DB_Host", "localhost");

あなたのマシンのIPアドレス(私は192.168.0.25);

define("DB_Host", "192.168.0.25");

コンソールでipconfigと入力するか、mac/linuxでifconfigと入力すると、ウィンドウで見つけることができます。

13
hooligan

mysqli_connect(DB_SERVER、DB_USERNAME、DB_PASSWORD、DB_DATABASE);

dB_SERVERの代わりにDB_Hostを使用します

8
moez

コードを見て、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);
6
hemanth kumar

パスワードに特殊文字が含まれていないことを確認し、単純なパスワード(例:12345)を保持するだけで機能します。これは私が今まで見た中で最も奇妙なことです。これを理解するのに約2時間かかりました。

注:下記の12345はプレーンパスワードです

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

dB_USERとして定義しますが、DB_USERNAMEとして使用します。また、phpはusername @ localhostにアクセスできないと言っています。 root @ localhostではありません。

定義を変更するか、パラメータを接続します。

3

XAMPP 7とopencartアラビア語3でも同じ問題に直面しました。localhostを実際のマシン名に置き換えると、この問題が再発生します。

1
Ahmed Bahtity

これはあなたのコードです:

<?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として呼び出しています。

次回はもっと注意してください。

PHPでコーディングを開始したい入門レベルのプログラマーは、自分があまり知らないものを使用しない方が良いでしょう。

アドバイスとしてのみ、より普遍的な(初めて)コードを使用してみてください。

例:define()ステートメントを使用せず、変数宣言を$db_user = 'root';として使用してください

素敵な経験をしてください:)

私の場合、問題は次のとおりです。

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

(奇数のシングル「ダブルの前」)

0
Andrews32

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.345はあなたのIPv4パブリックIP、そこにあるec2-dashboard > Network Interfaces > Description : RDSNetworkInterface >> IPv4 Public IP('35 .150.12.345 ')にあります。

注:IPV4のみが「ホスト名」オプションで機能することに注意してください。ホスト名、cname、ドメインはデータベース接続エラーを出力します。

0
Asharam Seervi

アクセスを制限するように設定したrootとは異なるユーザーと接続しようとすると、このエラーが発生しました。

Mysqlでは、ホスト%でユーザーMofXを設定しましたが、接続しませんでした。

「MofX」@「127.0.0.1」のように、ユーザーのホストを127.0.0.1に変更すると、機能しました。

0
ourmandave

上記の質問に対する回答があります。接続で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";
  }
?>
0
Precious Tom

引数の定義にタイプミスがあり、DB_HostDB_SERVERに変更し、DB_USERDB_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);

?>
0
Sajan

ここでいくつかの問題を修正しました。ここで定義した「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);
?>
0
Morris