質問編集履歴

6

password修正

2021/01/07 04:44

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -88,7 +88,7 @@
88
88
 
89
89
  $usr = 'root'; // ユーザー名
90
90
 
91
- $pwd = 'SQL6naka26'; // パスワード(USBWebserverの場合)
91
+ $pwd = 'SQL6naxxx'; // パスワード(USBWebserverの場合)
92
92
 
93
93
  $host = 'localhost'; // データベース・ホスト名
94
94
 

5

すみません。コードと質問の修正

2021/01/07 04:44

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,10 +1,22 @@
1
1
  参考書でphpを勉強中です。XAMPP v3.2.4、Notepad++,windows10を使っています。
2
2
 
3
+
4
+
5
+ ブラウザで「コード//localhost/これから始める人のPHP学習帖\Chapter4\coffee_break_A\4.php」
6
+
3
- 「データベース使う」で以下のが出てきていて、ブラウザで3.phpを実すると
7
+ 実行すると以下のエラーが出て先にけません。
8
+
9
+
10
+
4
-
11
+ ユーザーの取得に失敗しました!
12
+
13
+
14
+
5
- 現在あるデータベース一覧が表示されます。
15
+ rootでログインして現在データベース表示すると以下になっています。
6
-
16
+
17
+
18
+
7
- information_schema
19
+     information_schema
8
20
 
9
21
  mydb
10
22
 
@@ -20,13 +32,7 @@
20
32
 
21
33
 
22
34
 
23
- ブラウザで4.php実行ると以下のエラー出て先に行けません
35
+ 追加したユーー名ログインして、データベース表示したいのですが。
24
-
25
- (mysqli_set_charset($link, 'utf8'); // 文字コードの設定のコードのところ)
26
-
27
-
28
-
29
- Warning: mysqli_set_charset(): Error executing query in C:\xampp\htdocs\これから始める人のPHP学習帖\Chapter4\coffee_break_A\4.php on line 45
30
36
 
31
37
 
32
38
 
@@ -40,23 +46,23 @@
40
46
 
41
47
 
42
48
 
43
- コード//localhost/これから始める人のPHP学習帖\Chapter4\coffee_break_A\4.php が正常表示されるようにしたいのです。
44
-
45
-
46
-
47
- 4.phpでは
48
-
49
- $User = 'MyName'; // 追加したいユーザー名
49
+ // c:\XAMPP\mysql\data\mysql_error.log
50
-
50
+
51
+
52
+
51
- $Pass = 'MyPass'; // そのパスワード。としています。
53
+ 2021-01-05 11:47:14 426 [Warning] Aborted connection 426 to db: 'unconnected' user: 'MyName' host: 'localhost' (init_connect command failed)
54
+
52
-
55
+ 2021-01-05 11:47:14 426 [Warning] You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''SET NAMES utf8'' at line 1
56
+
53
-
57
+ 2021-01-05 11:48:05 428 [Warning] Aborted connection 428 to db: 'unconnected' user: 'MyName' host: 'localhost' (init_connect command failed)
58
+
54
-
59
+ 2021-01-05 11:48:05 428 [Warning] You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''SET NAMES utf8'' at line 1
60
+
61
+
62
+
55
-
63
+ となっています。書き方に問題あるようなのですが、わからないので
56
-
57
-
58
-
64
+
59
- これを解決する方法をお願いいたします。
65
+ これを解決する方法を教えてただきたす。
60
66
 
61
67
 
62
68
 
@@ -78,246 +84,150 @@
78
84
 
79
85
  <?php
80
86
 
87
+
88
+
89
+ $usr = 'root'; // ユーザー名
90
+
91
+ $pwd = 'SQL6naka26'; // パスワード(USBWebserverの場合)
92
+
93
+ $host = 'localhost'; // データベース・ホスト名
94
+
95
+
96
+
97
+ $dbName = 'testdb'; // 利用するデータベース名
98
+
99
+
100
+
101
+ $User = 'MyName'; // 追加したいユーザー名
102
+
103
+ $Pass = 'MyPass'; // そのパスワード
104
+
105
+
106
+
107
+ $sql = "GRANT ALL PRIVILEGES ON {$dbName}.* TO {$User}@";
108
+
109
+
110
+
111
+ $sql .= "{$host} IDENTIFIED BY '{$Pass}' WITH GRANT OPTION;";
112
+
113
+
114
+
115
+ $link = mysqli_connect($host, $usr, $pwd); // サーバーに接続
116
+
117
+
118
+
119
+ if( mysqli_select_db($link, $dbName)){ // データベースを選択
120
+
121
+
122
+
123
+ mysqli_set_charset($link, 'utf8'); // 文字コードの設定
124
+
125
+
126
+
127
+ mysqli_query($link, $sql); // SQL文を実行
128
+
129
+
130
+
131
+ } else {
132
+
133
+ exit('ユーザーの追加に失敗しました!');
134
+
135
+ }
136
+
137
+
138
+
139
+ mysqli_close($link); // 接続を切断
140
+
141
+
142
+
143
+
144
+
81
- // 追加したユーザーで接続し、データベース一覧を表示させて確認するプログラム
145
+ // 追加したユーザーで接続し、データベース一覧を表示させて確認
146
+
147
+ $usr = $User;
148
+
149
+
150
+
151
+ $pwd = $Pass;
152
+
153
+
154
+
155
+ $link = @mysqli_connect($host, $usr, $pwd); // サーバーに接続
156
+
157
+
158
+
159
+ if( mysqli_select_db($link, $dbName)){ // データベースを選択
160
+
161
+
162
+
163
+ mysqli_set_charset($link, 'utf8'); // 文字コードの設定
164
+
165
+
166
+
167
+ mysqli_query($link, $sql); // SQL文を実行
168
+
169
+
170
+
171
+ } else {
172
+
173
+ exit('ユーザーの取得に失敗しました!');
174
+
175
+ }
176
+
177
+
178
+
179
+ // データベース一覧を表示させて確認
180
+
181
+ $sql = 'SHOW DATABASES;';
182
+
183
+
184
+
185
+ if($result = mysqli_query($link, $sql)){ // SQL文を実行し、結果を取得
186
+
187
+
188
+
189
+ while($row = mysqli_fetch_assoc($result)){ // データを取り出す
82
190
 
83
191
 
84
192
 
85
- $usr = 'root'; // ユーザー名
86
-
87
- $pwd = 'SQL6naka26'; // パスワード(USBWebserverの場合)
88
-
89
- $host = 'localhost'; // データベース・ホスト名
90
-
91
-
92
-
93
- $dbName = 'testdb'; // 利用するデータベース名
94
-
95
-
96
-
97
- if($usr != 'root') exit('rootユーザー以外の場合、この操作は不要です!');
98
-
99
-
100
-
101
- $User = 'MyName'; // 追加したいユーザー名
102
-
103
- $Pass = 'MyPass'; // そのパスワード
104
-
105
-
106
-
107
-
108
-
109
-
110
-
111
- $sql = "GRANT ALL PRIVILEGES ON {$dbName}.* TO {$User}@";
112
-
113
- $sql .= "{$host} IDENTIFIED BY '{$Pass}' WITH GRANT OPTION;";
114
-
115
-
116
-
117
- $link = mysqli_connect($host, $usr, $pwd); // サーバーに接続
118
-
119
-
120
-
121
- mysqli_select_db($link, $dbName); // データベースを選択
122
-
123
-
124
-
125
- mysqli_set_charset($link, 'utf8'); // 文字コードの設定
126
-
127
-
128
-
129
- mysqli_query($link, $sql); // SQL文を実行
130
-
131
-
132
-
133
- mysqli_close($link); // 接続を切断
134
-
135
-
136
-
137
-
138
-
139
- // 追加したユーザーで接続し、データベース一覧を表示させて確認
140
-
141
- $usr = $User;
142
-
143
- $pwd = $Pass;
144
-
145
-
146
-
147
- $link = @mysqli_connect($host, $usr, $pwd); // サーバーに接続
148
-
149
-
150
-
151
- mysqli_set_charset($link, 'utf8'); // 文字コードの設定
152
-
153
-
154
-
155
- $sql = 'SHOW DATABASES;';
156
-
157
-
158
-
159
- if($result = mysqli_query($link, $sql)){ // SQL文を実行し、結果を取得
160
-
161
-
162
-
163
- while($row = mysqli_fetch_assoc($result)){ // データを取り出す
164
-
165
-
166
-
167
193
  echo $row['Database'] . '<br>'; // キーがDatabaseのデータです!
168
194
 
195
+
196
+
169
197
  }
170
198
 
171
199
  mysqli_free_result($result); // 結果をクリア
172
200
 
173
201
  }
174
202
 
175
- mysqli_close($link); // 接続を切断
203
+ mysqli_close($link); // 接続を切断
176
-
177
-
178
-
204
+
205
+
206
+
207
+
208
+
209
+
210
+
211
+
212
+
179
- /*実行結果
213
+ /* 実行結果
180
-
181
- Warning: mysqli_set_charset(): Error executing query in
214
+
182
-
183
- C:\xampp\これからはじめる人のPHP学習帖\
215
+ http://localhost/C:\xampp\htdocs\これからはじめる人のPHP学習帖
184
-
216
+
185
- Chapter4\coffee_break_A\4.php on line 45
217
+ \Chapter4\coffee_breakA/4.php で以下が表示される。
218
+
219
+
220
+
186
-
221
+ ユーザーの取得に失敗しました!
222
+
187
- */
223
+ */
188
-
189
-
224
+
225
+
226
+
227
+
190
228
 
191
229
  ?>
192
230
 
193
231
  </body>
194
232
 
195
233
  </html>
196
-
197
-
198
-
199
- ```php
200
-
201
-
202
-
203
- //localhost/これからはじめる人のPHP学習帖/Chapter4/Coffee_break_A/3.php
204
-
205
-
206
-
207
- <html>
208
-
209
- <head>
210
-
211
- <meta charset="utf-8">
212
-
213
- </head>
214
-
215
- <body>
216
-
217
- <?php
218
-
219
- // オブジェクト指向型のやり方
220
-
221
- //PDOクラスを利用してデータベースを作成する
222
-
223
-
224
-
225
- $usr = 'root'; // ユーザー名
226
-
227
- $pwd = 'SQL6naka26'; // パスワード(USBWebserverの場合)
228
-
229
- $host = 'localhost'; // データベース・ホスト名
230
-
231
-
232
-
233
- $dbName = 'testdb'; // 作成するデータベース名
234
-
235
- $sql = "CREATE DATABASE {$dbName};";
236
-
237
-
238
-
239
- $dsn = "mysql:host={$host};charset=utf8";
240
-
241
-
242
-
243
- $db = new PDO($dsn, $usr, $pwd); // サーバーに接続
244
-
245
-
246
-
247
- $db->query($sql); // SQL文を実行
248
-
249
-
250
-
251
- /*
252
-
253
- データベース一覧を表示させて確認
254
-
255
- */
256
-
257
- $sql = 'SHOW DATABASES;';
258
-
259
-
260
-
261
- if($result = $db->query($sql) ){ // SQL文を実行し、結果を取得
262
-
263
-
264
-
265
- while ($row = $result->fetch()) { // データを取り出す
266
-
267
-
268
-
269
- echo $row['Database'] . '<br>';// キーがDatabaseのデータです!
270
-
271
-
272
-
273
- }
274
-
275
- $result = null; // 結果をクリア
276
-
277
- }
278
-
279
- $db = null; // 接続を切断
280
-
281
-
282
-
283
- /* 実行結果
284
-
285
- http://localhost\これからはじめる人のPHP学習帖
286
-
287
- \Chapter4\coffee_breakA/3.php で以下が表示される。
288
-
289
-
290
-
291
- information_schema
292
-
293
- mydb
294
-
295
- mysql
296
-
297
- performance_schema
298
-
299
- phpmyadmin
300
-
301
- test
302
-
303
- testdb
304
-
305
-
306
-
307
-
308
-
309
-
310
-
311
- */
312
-
313
-
314
-
315
-
316
-
317
- ?>
318
-
319
- </body>
320
-
321
- </html>
322
-
323
- ```

4

修正

2021/01/05 03:13

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -22,6 +22,10 @@
22
22
 
23
23
  ブラウザで4.phpを実行すると以下のエラーが出て先に行けません。
24
24
 
25
+ (mysqli_set_charset($link, 'utf8'); // 文字コードの設定のコードのところ)
26
+
27
+
28
+
25
29
  Warning: mysqli_set_charset(): Error executing query in C:\xampp\htdocs\これから始める人のPHP学習帖\Chapter4\coffee_break_A\4.php on line 45
26
30
 
27
31
 

3

phpプログラムの修正

2021/01/04 00:10

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -4,47 +4,39 @@
4
4
 
5
5
  現在あるデータベース一覧が表示されます。
6
6
 
7
- information_schema
7
+ information_schema
8
+
8
-
9
+ mydb
10
+
9
- mysql
11
+ mysql
10
-
12
+
11
- performance_schema
13
+ performance_schema
12
-
14
+
13
- phpmyadmin
15
+ phpmyadmin
14
-
16
+
15
- test
17
+ test
16
-
18
+
17
- testdb
19
+ testdb
18
20
 
19
21
 
20
22
 
21
23
  ブラウザで4.phpを実行すると以下のエラーが出て先に行けません。
22
24
 
23
- Warning: mysqli_set_charset(): Error executing query in C:\xampp\htdocs\php_sample\Chapter4\coffee_break_A\4.php on line 44
25
+ Warning: mysqli_set_charset(): Error executing query in C:\xampp\htdocs\これから始める人のPHP学習帖\Chapter4\coffee_break_A\4.php on line 45
24
-
25
-
26
-
27
- Warning: mysqli_query(): MySQL server has gone away in C:\xampp\htdocs\php_sample\Chapter4\coffee_break_A\4.php on line 48
28
-
29
-
30
-
31
- Warning: mysqli_query(): Error reading result set's header in C:\xampp\htdocs\php_sample\Chapter4\coffee_break_A\4.php on line 48
32
26
 
33
27
 
34
28
 
35
29
  期待される表示内容は以下です。
36
30
 
37
- information_schema
31
+  information_schema
38
-
39
-  phpmyadmin
40
32
 
41
33
   test
42
34
 
43
-  testdb
35
+  testdb
44
-
45
-
46
-
36
+
37
+
38
+
47
- コード//localhost/php_sample/Chapter4/Coffee_break_A/4.phpが正常表示されるようにしたいのです。
39
+ コード//localhost/これから始める人のPHP学習帖\Chapter4\coffee_break_A\4.php が正常表示されるようにしたいのです。
48
40
 
49
41
 
50
42
 
@@ -54,22 +46,6 @@
54
46
 
55
47
  $Pass = 'MyPass'; // そのパスワード。としています。
56
48
 
57
- config.inc.phpの設定ファイルでは
58
-
59
-
60
-
61
- $cfg['Servers'][$i]['controluser'] = 'pma';
62
-
63
- となっているんですが、
64
-
65
- すべての'pma'を'MyName'; // 追加したいユーザー名を変更するんでしょうか。
66
-
67
-
68
-
69
- Xamppのコマンドプロンプトを使ってMariaDBにrootでログインしてユーザーの追加は
70
-
71
- 正常にできます。
72
-
73
49
 
74
50
 
75
51
 
@@ -80,348 +56,264 @@
80
56
 
81
57
 
82
58
 
83
- ```ここに言語を入力
59
+ ```php
60
+
61
+
62
+
84
-
63
+ //localhost/これから始める人のPHP学習帖\Chapter4\coffee_break_A\4.php
64
+
65
+ <html>
66
+
67
+ <head>
68
+
69
+ <meta charset="utf-8">
70
+
85
- //config.inc.php
71
+ </head>
72
+
86
-
73
+ <body>
87
-
88
74
 
89
75
  <?php
90
76
 
77
+ // 追加したユーザーで接続し、データベース一覧を表示させて確認するプログラム
78
+
79
+
80
+
81
+ $usr = 'root'; // ユーザー名
82
+
83
+ $pwd = 'SQL6naka26'; // パスワード(USBWebserverの場合)
84
+
85
+ $host = 'localhost'; // データベース・ホスト名
86
+
87
+
88
+
89
+ $dbName = 'testdb'; // 利用するデータベース名
90
+
91
+
92
+
93
+ if($usr != 'root') exit('rootユーザー以外の場合、この操作は不要です!');
94
+
95
+
96
+
97
+ $User = 'MyName'; // 追加したいユーザー名
98
+
99
+ $Pass = 'MyPass'; // そのパスワード
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+ $sql = "GRANT ALL PRIVILEGES ON {$dbName}.* TO {$User}@";
108
+
109
+ $sql .= "{$host} IDENTIFIED BY '{$Pass}' WITH GRANT OPTION;";
110
+
111
+
112
+
113
+ $link = mysqli_connect($host, $usr, $pwd); // サーバーに接続
114
+
115
+
116
+
117
+ mysqli_select_db($link, $dbName); // データベースを選択
118
+
119
+
120
+
121
+ mysqli_set_charset($link, 'utf8'); // 文字コードの設定
122
+
123
+
124
+
125
+ mysqli_query($link, $sql); // SQL文を実行
126
+
127
+
128
+
129
+ mysqli_close($link); // 接続を切断
130
+
131
+
132
+
133
+
134
+
135
+ // 追加したユーザーで接続し、データベース一覧を表示させて確認
136
+
137
+ $usr = $User;
138
+
139
+ $pwd = $Pass;
140
+
141
+
142
+
143
+ $link = @mysqli_connect($host, $usr, $pwd); // サーバーに接続
144
+
145
+
146
+
147
+ mysqli_set_charset($link, 'utf8'); // 文字コードの設定
148
+
149
+
150
+
151
+ $sql = 'SHOW DATABASES;';
152
+
153
+
154
+
155
+ if($result = mysqli_query($link, $sql)){ // SQL文を実行し、結果を取得
156
+
157
+
158
+
159
+ while($row = mysqli_fetch_assoc($result)){ // データを取り出す
160
+
161
+
162
+
163
+ echo $row['Database'] . '<br>'; // キーがDatabaseのデータです!
164
+
165
+ }
166
+
167
+ mysqli_free_result($result); // 結果をクリア
168
+
169
+ }
170
+
171
+ mysqli_close($link); // 接続を切断
172
+
173
+
174
+
175
+ /*実行結果
176
+
177
+ Warning: mysqli_set_charset(): Error executing query in
178
+
179
+ C:\xampp\これからはじめる人のPHP学習帖\
180
+
181
+ Chapter4\coffee_break_A\4.php on line 45
182
+
183
+ */
184
+
185
+
186
+
187
+ ?>
188
+
189
+ </body>
190
+
191
+ </html>
192
+
193
+
194
+
195
+ ```php
196
+
197
+
198
+
199
+ //localhost/これからはじめる人のPHP学習帖/Chapter4/Coffee_break_A/3.php
200
+
201
+
202
+
203
+ <html>
204
+
205
+ <head>
206
+
207
+ <meta charset="utf-8">
208
+
209
+ </head>
210
+
211
+ <body>
212
+
213
+ <?php
214
+
215
+ // オブジェクト指向型のやり方
216
+
217
+ //PDOクラスを利用してデータベースを作成する
218
+
219
+
220
+
221
+ $usr = 'root'; // ユーザー名
222
+
223
+ $pwd = 'SQL6naka26'; // パスワード(USBWebserverの場合)
224
+
225
+ $host = 'localhost'; // データベース・ホスト名
226
+
227
+
228
+
229
+ $dbName = 'testdb'; // 作成するデータベース名
230
+
231
+ $sql = "CREATE DATABASE {$dbName};";
232
+
233
+
234
+
235
+ $dsn = "mysql:host={$host};charset=utf8";
236
+
237
+
238
+
239
+ $db = new PDO($dsn, $usr, $pwd); // サーバーに接続
240
+
241
+
242
+
243
+ $db->query($sql); // SQL文を実行
244
+
245
+
246
+
91
- /*
247
+ /*
92
-
248
+
93
- * This is needed for cookie based authentication to encrypt password in
249
+ データベース一覧を表示させて確認
94
-
250
+
95
- * cookie
251
+ */
252
+
253
+ $sql = 'SHOW DATABASES;';
254
+
255
+
256
+
257
+ if($result = $db->query($sql) ){ // SQL文を実行し、結果を取得
258
+
259
+
260
+
261
+ while ($row = $result->fetch()) { // データを取り出す
262
+
263
+
264
+
265
+ echo $row['Database'] . '<br>';// キーがDatabaseのデータです!
266
+
267
+
268
+
269
+ }
270
+
271
+ $result = null; // 結果をクリア
272
+
273
+ }
274
+
275
+ $db = null; // 接続を切断
276
+
277
+
278
+
279
+ /* 実行結果
280
+
281
+ http://localhost\これからはじめる人のPHP学習帖
282
+
283
+ \Chapter4\coffee_breakA/3.php で以下が表示される。
284
+
285
+
286
+
287
+ information_schema
288
+
289
+ mydb
290
+
291
+ mysql
292
+
293
+ performance_schema
294
+
295
+ phpmyadmin
296
+
297
+ test
298
+
299
+ testdb
300
+
301
+
302
+
303
+
304
+
305
+
96
306
 
97
307
  */
98
308
 
99
- $cfg['blowfish_secret'] = 'xampp'; /* YOU SHOULD CHANGE THIS FOR A MORE SECURE COOKIE AUTH! */
309
+
100
-
101
-
102
-
103
- /*
310
+
104
-
105
- * Servers configuration
311
+
106
-
107
- */
108
-
109
- $i = 0;
110
-
111
-
112
-
113
- /*
114
-
115
- * First server
116
-
117
- */
118
-
119
- $i++;
120
-
121
-
122
-
123
- /* Authentication type and info */
124
-
125
- $cfg['Servers'][$i]['auth_type'] = 'config';
126
-
127
- $cfg['Servers'][$i]['user'] = 'root';
128
-
129
- $cfg['Servers'][$i]['password'] = 'SQL6naka26';
130
-
131
- $cfg['Servers'][$i]['extension'] = 'mysqli';
132
-
133
- $cfg['Servers'][$i]['AllowNoPassword'] = true;
134
-
135
- $cfg['Lang'] = '';
136
-
137
-
138
-
139
- /* Bind to the localhost ipv4 address and tcp */
140
-
141
- $cfg['Servers'][$i]['host'] = '127.0.0.1';
142
-
143
- $cfg['Servers'][$i]['connect_type'] = 'tcp';
144
-
145
-
146
-
147
- /* User for advanced features */
148
-
149
- $cfg['Servers'][$i]['controluser'] = 'pma';
150
-
151
- $cfg['Servers'][$i]['controlpass'] = '';
152
-
153
-
154
-
155
- /* Advanced phpMyAdmin features */
156
-
157
- $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
158
-
159
- $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
160
-
161
- $cfg['Servers'][$i]['relation'] = 'pma__relation';
162
-
163
- $cfg['Servers'][$i]['table_info'] = 'pma__table_info';
164
-
165
- $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
166
-
167
- $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
168
-
169
- $cfg['Servers'][$i]['column_info'] = 'pma__column_info';
170
-
171
- $cfg['Servers'][$i]['history'] = 'pma__history';
172
-
173
- $cfg['Servers'][$i]['designer_coords'] = 'pma__designer_coords';
174
-
175
- $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
176
-
177
- $cfg['Servers'][$i]['recent'] = 'pma__recent';
178
-
179
- $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
180
-
181
- $cfg['Servers'][$i]['users'] = 'pma__users';
182
-
183
- $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
184
-
185
- $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
186
-
187
- $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
188
-
189
- $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
190
-
191
- $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
192
-
193
- $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
194
-
195
- $cfg['Servers'][$i]['favorite'] = 'pma__favorite';
196
-
197
-
198
-
199
- /*
200
-
201
- * End of servers configuration
202
-
203
- */
204
-
205
-
206
312
 
207
313
  ?>
208
314
 
209
-
315
+ </body>
316
+
317
+ </html>
210
318
 
211
319
  ```
212
-
213
-
214
-
215
- ```php
216
-
217
-
218
-
219
- //localhost/php_sample/Chapter4/Coffee_break_A/4.php
220
-
221
- <html>
222
-
223
- <head>
224
-
225
- <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
226
-
227
- </head>
228
-
229
-
230
-
231
- <body>
232
-
233
- <?php
234
-
235
- //ユーザーの追加(作成)
236
-
237
- $usr = 'root'; // ユーザー名
238
-
239
- $pwd = 'SQLxxxx'; // パスワード(USBWebserverの場合)
240
-
241
- $host = 'localhost'; // データベース・ホスト名
242
-
243
-
244
-
245
- if($usr != 'root') exit('rootユーザー以外の場合、この操作は不要です!');
246
-
247
-
248
-
249
- $User = 'MyName'; // 追加したいユーザー名
250
-
251
- $Pass = 'MyPass'; // そのパスワード
252
-
253
-
254
-
255
- $dbName = 'testdb'; // 利用するデータベース名
256
-
257
-
258
-
259
- $sql = "GRANT ALL PRIVILEGES ON {$dbName}.* TO {$User}@";
260
-
261
-
262
-
263
- $sql .= "{$host} IDENTIFIED BY '{$Pass}' WITH GRANT OPTION;";
264
-
265
-
266
-
267
- $link = @mysqli_connect($host, $usr, $pwd); // サーバーに接続
268
-
269
-
270
-
271
- if( mysqli_select_db($link, $dbName)){ // データベースを選択
272
-
273
-
274
-
275
- mysqli_set_charset($link, 'utf8'); // 文字コードの設定
276
-
277
-
278
-
279
- mysqli_query($link, $sql); // SQL文を実行
280
-
281
-
282
-
283
- } else {
284
-
285
- exit('ユーザーの追加に失敗しました!');
286
-
287
- }
288
-
289
- mysqli_close($link); // 接続を切断
290
-
291
-
292
-
293
- /*
294
-
295
- 追加したユーザーで接続し、データベース一覧を表示させて確認
296
-
297
- */
298
-
299
- $usr = $User; $pwd = $Pass;
300
-
301
-
302
-
303
- $link = @mysqli_connect($host, $usr, $pwd); // サーバーに接続
304
-
305
-
306
-
307
- mysqli_set_charset($link, 'utf8'); // 文字コードの設定
308
-
309
-
310
-
311
- $sql = 'SHOW DATABASES;';
312
-
313
-
314
-
315
- if($result = mysqli_query($link, $sql)){ // SQL文を実行し、結果を取得
316
-
317
- while($row = mysqli_fetch_assoc($result)){ // データを取り出す
318
-
319
- echo $row['Database'] . '<br>'; // キーがDatabaseのデータです!
320
-
321
- }
322
-
323
- mysqli_free_result($result); // 結果をクリア
324
-
325
- }
326
-
327
- mysqli_close($link); // 接続を切断
328
-
329
-
330
-
331
- ?>
332
-
333
- </body>
334
-
335
- </html>
336
-
337
- ```
338
-
339
-
340
-
341
-
342
-
343
- ```php
344
-
345
-
346
-
347
- //localhost/php_sample/Chapter4/Coffee_break_A/3.php
348
-
349
- <html>
350
-
351
- <head>
352
-
353
- <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
354
-
355
- </head>
356
-
357
-
358
-
359
- <body>
360
-
361
- <?php
362
-
363
- //PDOクラスを利用してデータベースを作成する場合
364
-
365
-
366
-
367
- $usr = 'root'; // ユーザー名
368
-
369
- $pwd = 'SQLxxxx'; // パスワード(USBWebserverの場合)
370
-
371
- $host = 'localhost'; // データベース・ホスト名
372
-
373
-
374
-
375
- $dbName = 'testdb'; // 作成するデータベース名
376
-
377
- $sql = "CREATE DATABASE {$dbName};";
378
-
379
-
380
-
381
- $dsn = "mysql:host={$host};charset=utf8";
382
-
383
-
384
-
385
- $db = new PDO($dsn, $usr, $pwd); // サーバーに接続
386
-
387
-
388
-
389
- $db->query($sql); // SQL文を実行
390
-
391
-
392
-
393
- /*
394
-
395
- データベース一覧を表示させて確認
396
-
397
- */
398
-
399
- $sql = 'SHOW DATABASES;';
400
-
401
-
402
-
403
- if($result = $db->query($sql) ){ // SQL文を実行し、結果を取得
404
-
405
-
406
-
407
- while ($row = $result->fetch()) { // データを取り出す
408
-
409
- echo $row['Database'] . '<br>';// キーがDatabaseのデータです!
410
-
411
- }
412
-
413
- $result = null; // 結果をクリア
414
-
415
- }
416
-
417
- $db = null; // 接続を切断
418
-
419
-
420
-
421
- ?>
422
-
423
- </body>
424
-
425
- </html>
426
-
427
- ```

2

更新

2021/01/02 05:00

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -62,7 +62,17 @@
62
62
 
63
63
  となっているんですが、
64
64
 
65
- すべての'pma'を'MyName'; // 追加したいユーザー名を変更するんでしょうか
65
+ すべての'pma'を'MyName'; // 追加したいユーザー名を変更するんでしょうか
66
+
67
+
68
+
69
+ Xamppのコマンドプロンプトを使ってMariaDBにrootでログインしてユーザーの追加は
70
+
71
+ 正常にできます。
72
+
73
+
74
+
75
+
66
76
 
67
77
 
68
78
 

1

質問の修正

2019/11/04 06:29

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
- 参考書でphpを勉強中です。XAMMP v3.2.4、Notepad++,windows10を使っています。
1
+ 参考書でphpを勉強中です。XAMPP v3.2.4、Notepad++,windows10を使っています。
2
-
2
+
3
- 「データベースを使う」で以下のコードが出てきていて、ブラウザでphp3を実行すると
3
+ 「データベースを使う」で以下のコードが出てきていて、ブラウザで3.phpを実行すると
4
4
 
5
5
  現在あるデータベース一覧が表示されます。
6
6
 
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
 
21
- ブラウザでphp4を実行すると以下のエラーが出て先に行けません。
21
+ ブラウザで4.phpを実行すると以下のエラーが出て先に行けません。
22
22
 
23
23
  Warning: mysqli_set_charset(): Error executing query in C:\xampp\htdocs\php_sample\Chapter4\coffee_break_A\4.php on line 44
24
24
 
@@ -46,6 +46,26 @@
46
46
 
47
47
  コード//localhost/php_sample/Chapter4/Coffee_break_A/4.phpが正常表示されるようにしたいのです。
48
48
 
49
+
50
+
51
+ 4.phpでは
52
+
53
+ $User = 'MyName'; // 追加したいユーザー名
54
+
55
+ $Pass = 'MyPass'; // そのパスワード。としています。
56
+
57
+ config.inc.phpの設定ファイルでは
58
+
59
+
60
+
61
+ $cfg['Servers'][$i]['controluser'] = 'pma';
62
+
63
+ となっているんですが、
64
+
65
+ すべての'pma'を'MyName'; // 追加したいユーザー名を変更するんでしょうか
66
+
67
+
68
+
49
69
  これを解決する方法をお願いいたします。
50
70
 
51
71