質問編集履歴
3
画像の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -87,3 +87,11 @@
|
|
87
87
|
一番上に書いてあるコードを保存したファイルindex.phpをレンタルサーバーにアップロード。その後ブラウザからそのファイルにアクセス。この場合外部アクセスという形でMysqlに接続しているということなのでしょうか?
|
88
88
|
|
89
89
|
また、PHPがサーバー側で動く言語であるということは言葉としては知っているのですが、具体的なことはよく分かりません。この辺りのことについて教えて欲しいです。
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
追記
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
![イメージ説明](cd3d4a73f42d8a295eb88f293b6b1e15.jpeg)
|
2
文章の編集(一番最初に変なところで質問を投稿してしまった)
test
CHANGED
File without changes
|
test
CHANGED
@@ -1 +1,89 @@
|
|
1
|
-
|
1
|
+
PHPを使ったMysqlへの接続につまづいています。何が原因でエラーが発生してしまうのか憶測の範囲でしか分からない状態です。
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
```ここに言語を入力
|
6
|
+
|
7
|
+
<?php
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
define('DB_DATABASE', '');
|
12
|
+
|
13
|
+
define('DB_USERNAME', '');
|
14
|
+
|
15
|
+
define('DB_PASSWORD', '');
|
16
|
+
|
17
|
+
define('PDO_DSN', 'mysql:dbhost=;dbname=' . DB_DATABASE);
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
try {
|
22
|
+
|
23
|
+
// connect
|
24
|
+
|
25
|
+
$db = new PDO(PDO_DSN, DB_USERNAME, DB_PASSWORD);
|
26
|
+
|
27
|
+
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
//
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
} catch (PDOException $e) {
|
36
|
+
|
37
|
+
echo $e->getMessage();
|
38
|
+
|
39
|
+
exit;
|
40
|
+
|
41
|
+
}
|
42
|
+
|
43
|
+
?>
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
```
|
48
|
+
|
49
|
+
上記のコードにユーザー名やデーターベース名、接続先のホスト名を入力し、ファイルとして保存。そのファイルをレンタルサーバーにアップロードし、ブラウザからアクセスすると以下のようなエラーが発生します。
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
![イメージ説明](3a69a5cabeb44920fb7e3c6b0fc90f33.jpeg)
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
コードはドットインストールからコピペしたコードで、自分が入力したのは定数の値だけ。またxamppを使って作ったローカル環境では同じコードでもエラーがなく実行出来たので、コードには間違いがないと思います。
|
58
|
+
|
59
|
+
また自分が入力した定数の値にもおそらく間違いがなく、なぜエラーが発生するのがよく分かりませんでした。
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
ただ、原因を探っていくうちに何となくの理由は掴めてきました。
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
![](3f36893a208f5c65d4f988b2a4e0413a.jpeg)
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
上の画像はレンタルサーバーのウェブサイトから見れるMysqlの管理画面の一部です。ユーザーのホスト名が%ではなく、しっかりと指定されています。またレンタルサーバーの多くは外部からの接続が許されていないということもつい昨日知りました。
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
ユーザー名に書かれているホスト以外からはMysqlにアクセス出来ないので、エラーが発生していた。問題の解決をする為にはサーバー上のPHPからMysqlに接続すればよい。ということなのでしょうか。
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
正直内部アクセスや外部アクセスが具体的にどのようなものなのか全く分かりません。
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
質問をまとめると以下になります。
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
一番上に書いてあるコードを保存したファイルindex.phpをレンタルサーバーにアップロード。その後ブラウザからそのファイルにアクセス。この場合外部アクセスという形でMysqlに接続しているということなのでしょうか?
|
88
|
+
|
89
|
+
また、PHPがサーバー側で動く言語であるということは言葉としては知っているのですが、具体的なことはよく分かりません。この辺りのことについて教えて欲しいです。
|
1
文章の投稿がうまくできていなかった
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,83 +1 @@
|
|
1
|
-
PHPを使ったMysqlへの接続に今現在つまづいています。何が原因でエラーが発生してしまうのか憶測の範囲でしか分からず、また分からないことも沢山ある状態です。
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
```ここに言語を入力
|
6
|
-
|
7
|
-
<?php
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
define('DB_DATABASE', '');
|
12
|
-
|
13
|
-
define('DB_USERNAME', '');
|
14
|
-
|
15
|
-
define('DB_PASSWORD', '');
|
16
|
-
|
17
|
-
define('PDO_DSN', 'mysql:dbhost=;dbname=' . DB_DATABASE);
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
try {
|
22
|
-
|
23
|
-
// connect
|
24
|
-
|
25
|
-
$db = new PDO(PDO_DSN, DB_USERNAME, DB_PASSWORD);
|
26
|
-
|
27
|
-
|
1
|
+
編集中...。変なところで投稿してしまった.....................................。
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
//
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
} catch (PDOException $e) {
|
36
|
-
|
37
|
-
echo $e->getMessage();
|
38
|
-
|
39
|
-
exit;
|
40
|
-
|
41
|
-
}
|
42
|
-
|
43
|
-
?>
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
```
|
48
|
-
|
49
|
-
上記のコードにユーザー名やデーターベース名、接続先のホスト名を入力し、ファイルとして保存。そのファイルをレンタルサーバーにアップロードし、ブラウザからアクセスすると以下のようなエラーが発生します。
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
![イメージ説明](3a69a5cabeb44920fb7e3c6b0fc90f33.jpeg)
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
コードはドットインストールからコピペしたコードで、自分が入力したのは値だけ。またxamppを使って作ったローカル環境ではPDOを使いPHPからmysqlにアクセスすることが出来たので、コードには間違いがないと思います。
|
58
|
-
|
59
|
-
また自分が入力した定数の値にもおそらく間違いがなく、なぜエラーが発生するのがよく分かりませんでした。
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
ただ、原因を探っていくうちに何となくの理由は掴めてきました。
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
![](3f36893a208f5c65d4f988b2a4e0413a.jpeg)
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
上の画像はレンタルサーバーのウェブサイトから見れるMysqlの管理画面の一部です。ユーザーのホスト名が%ではなく、しっかりと指定されていますよね。またレンタルサーバーの多くは外部からの接続が許されていないということもつい昨日知りました。
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
ユーザー名に書かれているホスト以外からはMysqlにアクセス出来ないので、エラーが発生していた。問題の解決をする為にはサーバー上のPHPからMysqlに接続すればよい。ということなのでしょうか?
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
正直内部アクセスとは具体的にどのようなのか全く分かりません。
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
①一番上に書いてあるコードを保存したファイルindex.phpをレンタルサーバーにアップロード。その後ブラウザからそのファイルにアクセス。この場合外部アクセスという形でMysqlに接続しているということなのでしょうか?
|