回答編集履歴

6

しゅうせい

2016/04/07 07:45

投稿

Akirax
Akirax

スコア20

test CHANGED
@@ -16,9 +16,15 @@
16
16
 
17
17
  PHPからPDO構文でSQLへの接続を行うと↓こんな感じのエラーで接続を拒絶されると思います。
18
18
 
19
- (try/catch構文だと、catch側の命令が実行されると思います。)
19
+
20
20
 
21
21
  ![イメージ説明](e0309bbe2b24960abf65e5d2e44ff721.png)
22
+
23
+
24
+
25
+ (*try/catch構文を使っている場合だと、catch側の命令が実行されると思います。)
26
+
27
+
22
28
 
23
29
 
24
30
 

5

修正

2016/04/07 07:45

投稿

Akirax
Akirax

スコア20

test CHANGED
@@ -8,17 +8,19 @@
8
8
 
9
9
  PDO構文を使ってPHPからSQLへデータを遷移させたい場合、
10
10
 
11
- 全てのユーザー権限を特定のユーザーに付与する必要があるようです。
11
+ SQLで利用する特定のユーザー名対して全てのユーザー権限を付与する必要があるようです。
12
12
 
13
13
 
14
14
 
15
- ターミナルでユーザー権限の付与をしてない場合は、
15
+ ユーザー権限の付与がされてない場合は、
16
16
 
17
- PDO構文で接続を行うと↓こんな感じのエラーで接続を拒絶されると思います。
17
+ PHPからPDO構文でSQLへの接続を行うと↓こんな感じのエラーで接続を拒絶されると思います。
18
18
 
19
19
  (try/catch構文だと、catch側の命令が実行されると思います。)
20
20
 
21
21
  ![イメージ説明](e0309bbe2b24960abf65e5d2e44ff721.png)
22
+
23
+
22
24
 
23
25
 
24
26
 
@@ -32,9 +34,13 @@
32
34
 
33
35
 
34
36
 
37
+
38
+
35
39
  ②続いて、不要なユーザー名とホスト名は下のコマンドで削除します。
36
40
 
37
41
  mysql> DROP USER 'root'@'%';
42
+
43
+
38
44
 
39
45
 
40
46
 
@@ -52,9 +58,13 @@
52
58
 
53
59
 
54
60
 
61
+
62
+
55
63
  ④最後に、このユーザー名とホスト名に以下のコマンドで権限を与えます。
56
64
 
57
65
  mysql> grant all on *.* to 'root'@'localhost';
66
+
67
+
58
68
 
59
69
 
60
70
 

4

修正

2016/04/07 07:43

投稿

Akirax
Akirax

スコア20

test CHANGED
@@ -12,17 +12,23 @@
12
12
 
13
13
 
14
14
 
15
+ ターミナルでユーザー権限の付与をしてない場合は、
16
+
15
- ターミナルユーザー権限の付与してない場合は、↓こんな感じのエラーで接続を拒絶されてしまいます。
17
+ PDO構文接続行うと↓こんな感じのエラーで接続を拒絶されると思います。
18
+
19
+ (try/catch構文だと、catch側の命令が実行されると思います。)
16
20
 
17
21
  ![イメージ説明](e0309bbe2b24960abf65e5d2e44ff721.png)
18
22
 
19
23
 
20
24
 
21
- まず、そういった方は、
25
+ そういった方は、
22
26
 
23
- ①ターミナルで下のコマンドを実行すると、今自分のMySQLに設定されているユーザー名とホスト名を確認できます。
27
+ ①ターミナルで下のコマンドを実行して、今自分のMySQLに設定されているユーザー名とホスト名を確認できます。
24
28
 
25
29
  ![イメージ説明](24d12696b5ee184f729779bbe4690c59.png)
30
+
31
+
26
32
 
27
33
 
28
34
 
@@ -32,15 +38,25 @@
32
38
 
33
39
 
34
40
 
41
+
42
+
35
- ③さらに、これから利用するユーザー名とホスト名を下のコマンドで作成します。
43
+ ③さらに、これから利用するユーザー名(今回は:root) とホスト名(今回は:localhost) を下のコマンドで作成し
44
+
45
+  2行目のコマンドでパスワードを設定してあげます。(パスワード不要なら''で構わない。)
36
46
 
37
47
  mysql> CREATE USER 'root'@'localhost';
48
+
49
+ mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('***');
50
+
51
+
38
52
 
39
53
 
40
54
 
41
55
  ④最後に、このユーザー名とホスト名に以下のコマンドで権限を与えます。
42
56
 
43
57
  mysql> grant all on *.* to 'root'@'localhost';
58
+
59
+
44
60
 
45
61
 
46
62
 

3

2016/04/07 07:40

投稿

Akirax
Akirax

スコア20

test CHANGED
@@ -1,6 +1,6 @@
1
1
  5時間ハマってましたが解決しました。
2
2
 
3
- どうも、教科書の文章2つ問題あったようです。
3
+ どうも、教科書の文章PHPとSQLの接続出来無いようです。
4
4
 
5
5
  備忘録として、こちらにまとめます。(MacでMampユーザーの場合に限定されるかもしれませんが、、、)
6
6
 

2

2016/04/06 14:51

投稿

Akirax
Akirax

スコア20

test CHANGED
@@ -64,6 +64,10 @@
64
64
 
65
65
  'ユーザー名','パスワード',array(PDO::ATTR_EMULATE_PREPARES => false));
66
66
 
67
+
68
+
69
+   #ここにSQLへの実行命令を記載
70
+
67
71
 
68
72
 
69
73
  }catch (Exception $e){

1

a

2016/04/06 14:50

投稿

Akirax
Akirax

スコア20

test CHANGED
@@ -60,7 +60,7 @@
60
60
 
61
61
  $dsn='mysql:dbname=shop;host=localhost;charset=utf8';
62
62
 
63
- $dbh = new PDO('mysql:host=localhost;dbname=shop;charset=utf8',
63
+ $dbh = new PDO('mysql:host=ホスト名;dbname=データベース名;charset=utf8',
64
64
 
65
65
  'ユーザー名','パスワード',array(PDO::ATTR_EMULATE_PREPARES => false));
66
66