phpからMySQLへ接続できません
by
SQLSTATE[42000] [1044]エラーさん
(d992da96)
投稿数:0回
(ベストアンサー:0回)
(ベストアンサー:0回)
2020/08/12 23:44
自分のパソコンを使ってPHPとMySQLの通販ショッピングのポートフォリオを作りました。サーバーに上げようとしてるのですが、ログイン画面からのDB接続が上手くいきません。
自分のパソコン→
<?php session_start(); ?>
<?php require '../header.php'; ?>
<?php require 'menu.php'; ?>
<?php
unset($_SESSION['customer']);
$pdo=new PDO('mysql:host=localhost;dbname=shop;charset=utf8','staff', 'password');
$sql=$pdo->prepare('select * from customer where login=? and password=?');
$sql->execute([$_REQUEST['login'], $_REQUEST['password']]);
foreach ($sql as $row) {
$_SESSION['customer']=…続く
XFREEのMySQLホスト名…mysql1.php.xdomain.ne.jp
XFREEのデータベースユーザ名…rt88_shop
XFREEのデータベースパスワード…password
だったので
<?php session_start(); ?>
<?php require '../header.php'; ?>
<?php require 'menu.php'; ?>
<?php
unset($_SESSION['customer']);
$pdo=new PDO('mysql:host=mysql1.php.xdomain.ne.jp;dbname=shop;charset=utf8','rt88_shop','password');
$sql=$pdo->prepare('select * from customer where login=? and password=?');
$sql->execute([$_REQUEST['login'], $_REQUEST['password']]);
foreach ($sql as $row) {
$_SESSION['customer…続く
にすると
Fatal error: Uncaught PDOException: SQLSTATE[42000] [1044] Access denied for user 'rt88_shop'@'sv5.php.xdomain.ne.jp' to database 'shop' in /home/rt88/rt88.php.xdomain.jp/public_html/sample/login-output.php:6 Stack trace: #0 /home/rt88/rt88.php.xdomain.jp/public_html/sample/login-output.php(6): PDO->__construct('mysql:host=mysq...', 'rt88_shop', 'password') #1 {main} thrown in /home/rt88/rt88.php.xdomain.jp/public_html/sample/login-output.php on line 6
となります。
こちらのサーバーに上げる時は、どこに気をつけないといけないんでしょう?
自分のパソコン→
<?php session_start(); ?>
<?php require '../header.php'; ?>
<?php require 'menu.php'; ?>
<?php
unset($_SESSION['customer']);
$pdo=new PDO('mysql:host=localhost;dbname=shop;charset=utf8','staff', 'password');
$sql=$pdo->prepare('select * from customer where login=? and password=?');
$sql->execute([$_REQUEST['login'], $_REQUEST['password']]);
foreach ($sql as $row) {
$_SESSION['customer']=…続く
XFREEのMySQLホスト名…mysql1.php.xdomain.ne.jp
XFREEのデータベースユーザ名…rt88_shop
XFREEのデータベースパスワード…password
だったので
<?php session_start(); ?>
<?php require '../header.php'; ?>
<?php require 'menu.php'; ?>
<?php
unset($_SESSION['customer']);
$pdo=new PDO('mysql:host=mysql1.php.xdomain.ne.jp;dbname=shop;charset=utf8','rt88_shop','password');
$sql=$pdo->prepare('select * from customer where login=? and password=?');
$sql->execute([$_REQUEST['login'], $_REQUEST['password']]);
foreach ($sql as $row) {
$_SESSION['customer…続く
にすると
Fatal error: Uncaught PDOException: SQLSTATE[42000] [1044] Access denied for user 'rt88_shop'@'sv5.php.xdomain.ne.jp' to database 'shop' in /home/rt88/rt88.php.xdomain.jp/public_html/sample/login-output.php:6 Stack trace: #0 /home/rt88/rt88.php.xdomain.jp/public_html/sample/login-output.php(6): PDO->__construct('mysql:host=mysq...', 'rt88_shop', 'password') #1 {main} thrown in /home/rt88/rt88.php.xdomain.jp/public_html/sample/login-output.php on line 6
となります。
こちらのサーバーに上げる時は、どこに気をつけないといけないんでしょう?
by
.さん
(4b9b203e)
投稿数:261回
(ベストアンサー:32回)
(ベストアンサー:32回)
2020/08/13 06:28
同じようなプログラム(後述)を作ってテストしてみましたが、特に問題なくDBを開くことができました。
特段注意した点はありません。
PHP・MySQLサーバー:sv4.php.xdomain.ne.jp
MySQLサーバー:mysql1.php.xdomain.ne.jp
ドメイン:初期ドメイン(独自ドメイン使用せず)
チェックポイント:
XFREEのサーバー上でDBは作成済みですか?
MySQLサーバー名は正しいですか?
DB名は正しいですか?
DBのIDは正しいですか?
DBのパスワードは正しいですか?
DB名が間違っていたり、IDが間違っていたり、パスワードが間違っていたりすると、同様のエラーメッセージ(Access denied)が出ることを確認しました。
テスト用プログラム:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html">
</head>
<body>
<?php
ini_set('display_errors',1);
$pdo=new PDO('mysql:host=mysql1.php.xdomain.ne.jp;dbname=DBNAME','DB_USER_ID','DB_USER_PASSWD');
echo "Normally done.";
?>
</body>
</html>
特段注意した点はありません。
PHP・MySQLサーバー:sv4.php.xdomain.ne.jp
MySQLサーバー:mysql1.php.xdomain.ne.jp
ドメイン:初期ドメイン(独自ドメイン使用せず)
チェックポイント:
XFREEのサーバー上でDBは作成済みですか?
MySQLサーバー名は正しいですか?
DB名は正しいですか?
DBのIDは正しいですか?
DBのパスワードは正しいですか?
DB名が間違っていたり、IDが間違っていたり、パスワードが間違っていたりすると、同様のエラーメッセージ(Access denied)が出ることを確認しました。
テスト用プログラム:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html">
</head>
<body>
<?php
ini_set('display_errors',1);
$pdo=new PDO('mysql:host=mysql1.php.xdomain.ne.jp;dbname=DBNAME','DB_USER_ID','DB_USER_PASSWD');
echo "Normally done.";
?>
</body>
</html>