回答編集履歴
6
しゅうせい
test
CHANGED
@@ -16,9 +16,15 @@
|
|
16
16
|
|
17
17
|
PHPからPDO構文でSQLへの接続を行うと↓こんな感じのエラーで接続を拒絶されると思います。
|
18
18
|
|
19
|
-
|
19
|
+
|
20
20
|
|
21
21
|
![イメージ説明](e0309bbe2b24960abf65e5d2e44ff721.png)
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
(*try/catch構文を使っている場合だと、catch側の命令が実行されると思います。)
|
26
|
+
|
27
|
+
|
22
28
|
|
23
29
|
|
24
30
|
|
5
修正
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
修正
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
|
-
①ターミナルで下のコマンドを実行
|
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
あ
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
5時間ハマってましたが解決しました。
|
2
2
|
|
3
|
-
どうも、教科書の文章
|
3
|
+
どうも、教科書の文章ではPHPとSQLの接続が出来無いようです。
|
4
4
|
|
5
5
|
備忘録として、こちらにまとめます。(MacでMampユーザーの場合に限定されるかもしれませんが、、、)
|
6
6
|
|
2
あ
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
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=
|
63
|
+
$dbh = new PDO('mysql:host=ホスト名;dbname=データベース名;charset=utf8',
|
64
64
|
|
65
65
|
'ユーザー名','パスワード',array(PDO::ATTR_EMULATE_PREPARES => false));
|
66
66
|
|