0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

xamppでmysql利用時のトラブル(PHPからのmysql接続時の認証エラー原因)

Last updated at Posted at 2020-01-28

###1.phpからmysql接続テスト(突然の認証エラー)

mariadb(mysql)にはrootで入れるの(というかDB作成、テーブル作成まで完了)に、
テストプログラムの接続で失敗。下記のようなエラー画面(caching_sha2_password)
が表示される。

この画面で何のプログラムかわかる人は、きっと天才だ。

php_auth_err.jpg

###2.解決法(ホスト名の後ろに何かを指定)

ググって修正した結果が下記のプログラム。

test_dino2_mysql.php
<!DOCTYPE html>
<html lang="ja">
<meta charset="utf-8">
<title>恐竜登録テスト</title>
<h1>開始</h1>

<?php 
	require 'common_dino2.php';
	$select_all = "select count(*) from tbl_dino";

	$dsn = 'mysql:dbname=db_dino;host=localhost:3308;charset=utf8mb4';
	$user = 'root';
	$password = 'root123';

    $dbh = new PDO($dsn, $user, $password);
	
	$ret0 = 0;
	$result_a=get_AllData($dbh,$select_all);
   	//$count
	$count = $result_a->fetchColumn();
	$ret0=$count;
	echo $ret0.",".mt_rand();
 ?>
</html>


実はソース(データソース名)で重要な部分がある。
$dsn='mysql:dbname=db_dino;host=localhost:3308;charset=utf8mb4';

ローカルホストの後ろのポート番号が必要なのである。

このポート番号を記述しないと、認証エラーが起きる。
(私の場合はデフォルトのポート番号を変更したためかも)

これにより正常に接続できる。
php_auth_ok.jpg

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?