回答編集履歴
6
しゅうせい
answer
CHANGED
@@ -7,10 +7,13 @@
|
|
7
7
|
|
8
8
|
ユーザー権限の付与がされてない場合は、
|
9
9
|
PHPからPDO構文でSQLへの接続を行うと↓こんな感じのエラーで接続を拒絶されると思います。
|
10
|
-
|
10
|
+
|
11
11
|

|
12
12
|
|
13
|
+
(*try/catch構文を使っている場合だと、catch側の命令が実行されると思います。)
|
13
14
|
|
15
|
+
|
16
|
+
|
14
17
|
そういった方は、
|
15
18
|
①ターミナルで下のコマンドを実行して、今自分のMySQLに設定されているユーザー名とホスト名を確認できます。
|
16
19
|

|
5
修正
answer
CHANGED
@@ -3,32 +3,37 @@
|
|
3
3
|
備忘録として、こちらにまとめます。(MacでMampユーザーの場合に限定されるかもしれませんが、、、)
|
4
4
|
|
5
5
|
PDO構文を使ってPHPからSQLへデータを遷移させたい場合、
|
6
|
-
|
6
|
+
SQLで利用する特定のユーザー名対して全てのユーザー権限を付与する必要があるようです。
|
7
7
|
|
8
|
-
|
8
|
+
ユーザー権限の付与がされてない場合は、
|
9
|
-
PDO構文で接続を行うと↓こんな感じのエラーで接続を拒絶されると思います。
|
9
|
+
PHPからPDO構文でSQLへの接続を行うと↓こんな感じのエラーで接続を拒絶されると思います。
|
10
10
|
(try/catch構文だと、catch側の命令が実行されると思います。)
|
11
11
|

|
12
12
|
|
13
|
+
|
13
14
|
そういった方は、
|
14
15
|
①ターミナルで下のコマンドを実行して、今自分のMySQLに設定されているユーザー名とホスト名を確認できます。
|
15
16
|

|
16
17
|
|
17
18
|
|
19
|
+
|
18
20
|
②続いて、不要なユーザー名とホスト名は下のコマンドで削除します。
|
19
21
|
mysql> DROP USER 'root'@'%';
|
20
22
|
|
21
23
|
|
24
|
+
|
22
25
|
③さらに、これから利用するユーザー名(今回は:root) とホスト名(今回は:localhost) を下のコマンドで作成し、
|
23
26
|
2行目のコマンドでパスワードを設定してあげます。(パスワード不要なら''で構わない。)
|
24
27
|
mysql> CREATE USER 'root'@'localhost';
|
25
28
|
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('***');
|
26
29
|
|
27
30
|
|
31
|
+
|
28
32
|
④最後に、このユーザー名とホスト名に以下のコマンドで権限を与えます。
|
29
33
|
mysql> grant all on *.* to 'root'@'localhost';
|
30
34
|
|
31
35
|
|
36
|
+
|
32
37
|
これで、PHPからSQLへの接続が許可されます。
|
33
38
|
|
34
39
|
また、PHPからSQLへの接続に必要なコードは以下の通りです。
|
4
修正
answer
CHANGED
@@ -5,22 +5,30 @@
|
|
5
5
|
PDO構文を使ってPHPからSQLへデータを遷移させたい場合、
|
6
6
|
全てのユーザー権限を特定のユーザーに付与する必要があるようです。
|
7
7
|
|
8
|
+
ターミナルでユーザー権限の付与をしてない場合は、
|
8
|
-
|
9
|
+
PDO構文で接続を行うと↓こんな感じのエラーで接続を拒絶されると思います。
|
10
|
+
(try/catch構文だと、catch側の命令が実行されると思います。)
|
9
11
|

|
10
12
|
|
11
|
-
|
13
|
+
そういった方は、
|
12
|
-
①ターミナルで下のコマンドを実行
|
14
|
+
①ターミナルで下のコマンドを実行して、今自分のMySQLに設定されているユーザー名とホスト名を確認できます。
|
13
15
|

|
14
16
|
|
17
|
+
|
15
18
|
②続いて、不要なユーザー名とホスト名は下のコマンドで削除します。
|
16
19
|
mysql> DROP USER 'root'@'%';
|
17
20
|
|
21
|
+
|
18
|
-
③さらに、これから利用するユーザー名とホスト名を下のコマンドで作成し
|
22
|
+
③さらに、これから利用するユーザー名(今回は:root) とホスト名(今回は:localhost) を下のコマンドで作成し、
|
23
|
+
2行目のコマンドでパスワードを設定してあげます。(パスワード不要なら''で構わない。)
|
19
24
|
mysql> CREATE USER 'root'@'localhost';
|
25
|
+
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('***');
|
20
26
|
|
27
|
+
|
21
28
|
④最後に、このユーザー名とホスト名に以下のコマンドで権限を与えます。
|
22
29
|
mysql> grant all on *.* to 'root'@'localhost';
|
23
30
|
|
31
|
+
|
24
32
|
これで、PHPからSQLへの接続が許可されます。
|
25
33
|
|
26
34
|
また、PHPからSQLへの接続に必要なコードは以下の通りです。
|
3
あ
answer
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
5時間ハマってましたが解決しました。
|
2
|
-
どうも、教科書の文章
|
2
|
+
どうも、教科書の文章ではPHPとSQLの接続が出来無いようです。
|
3
3
|
備忘録として、こちらにまとめます。(MacでMampユーザーの場合に限定されるかもしれませんが、、、)
|
4
4
|
|
5
5
|
PDO構文を使ってPHPからSQLへデータを遷移させたい場合、
|
2
あ
answer
CHANGED
@@ -31,6 +31,8 @@
|
|
31
31
|
$dsn='mysql:dbname=shop;host=localhost;charset=utf8';
|
32
32
|
$dbh = new PDO('mysql:host=ホスト名;dbname=データベース名;charset=utf8',
|
33
33
|
'ユーザー名','パスワード',array(PDO::ATTR_EMULATE_PREPARES => false));
|
34
|
+
|
35
|
+
#ここにSQLへの実行命令を記載
|
34
36
|
|
35
37
|
}catch (Exception $e){
|
36
38
|
print 'ただいま障害により大変ご迷惑をお掛けしております。';
|
1
a
answer
CHANGED
@@ -29,7 +29,7 @@
|
|
29
29
|
|
30
30
|
try{
|
31
31
|
$dsn='mysql:dbname=shop;host=localhost;charset=utf8';
|
32
|
-
$dbh = new PDO('mysql:host=
|
32
|
+
$dbh = new PDO('mysql:host=ホスト名;dbname=データベース名;charset=utf8',
|
33
33
|
'ユーザー名','パスワード',array(PDO::ATTR_EMULATE_PREPARES => false));
|
34
34
|
|
35
35
|
}catch (Exception $e){
|