質問するログイン新規登録

質問編集履歴

4

exit

2023/07/13 06:11

投稿

shin_s14
shin_s14

スコア3

title CHANGED
File without changes
body CHANGED
@@ -70,6 +70,7 @@
70
70
  $this->conn->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
71
71
  } catch (PDOException $e) {
72
72
  echo "データベース接続エラー: " . $e->getMessage();
73
+ exit;
73
74
  }
74
75
  }
75
76
  ```

3

写真追加

2023/07/13 05:35

投稿

shin_s14
shin_s14

スコア3

title CHANGED
File without changes
body CHANGED
@@ -72,4 +72,7 @@
72
72
  echo "データベース接続エラー: " . $e->getMessage();
73
73
  }
74
74
  }
75
- ```
75
+ ```
76
+
77
+ DBeaver
78
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-07-13/727d6b35-d175-48b9-932c-7e3e3c16a5d3.png)

2

try catch

2023/07/13 05:31

投稿

shin_s14
shin_s14

スコア3

title CHANGED
File without changes
body CHANGED
@@ -57,3 +57,19 @@
57
57
  ```
58
58
 
59
59
  ご教授の程よろしくお願いします
60
+
61
+ ご指摘の通り以下のようにtyr catch構文で書き直しました
62
+ ```ここに言語を入力
63
+ public function __construct($host = 'localhost', $port = '3307', $dbName = 'votingapp', $username = 'voting_user', $password = 'password')
64
+ {
65
+ try {
66
+ $dsn = "mysql:host={$host};port={$port};dbname={$dbName}";
67
+ $this->conn = new PDO($dsn, $username, $password);
68
+ $this->conn->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
69
+ $this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
70
+ $this->conn->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
71
+ } catch (PDOException $e) {
72
+ echo "データベース接続エラー: " . $e->getMessage();
73
+ }
74
+ }
75
+ ```

1

パスワードを非表示

2023/07/12 06:45

投稿

shin_s14
shin_s14

スコア3

title CHANGED
File without changes
body CHANGED
@@ -20,7 +20,7 @@
20
20
  platform: linux/x86_64
21
21
  container_name: db
22
22
  environment:
23
- MYSQL_ROOT_PASSWORD: password
23
+ MYSQL_ROOT_PASSWORD: ********
24
24
  MYSQL_DATABASE: votingapp
25
25
  TZ: "Asia/Tokyo"
26
26
  ports:
@@ -41,7 +41,7 @@
41
41
  datasource.php
42
42
  ```ここに言語を入力
43
43
 
44
- public function __construct($host = 'localhost', $port = '3307', $dbName = 'votingapp', $username = 'voting_user', $password = 'password') {
44
+ public function __construct($host = 'localhost', $port = '3307', $dbName = 'votingapp', $username = 'voting_user', $password = ********) {
45
45
  $dsn = "mysql:host={$host};port={$port};dbname={$dbName};";
46
46
  $this->conn = new PDO($dsn, $username, $password);
47
47
  ```
@@ -53,7 +53,7 @@
53
53
  ```
54
54
  ```ここに言語を入力
55
55
 
56
- Fatal error: Uncaught PDOException: SQLSTATE[HY000] [2002] No such file or directory in /php-voting-app/app/htdocs/php/db/datasource.php:14 Stack trace: #0 /php-voting-app/app/htdocs/php/db/datasource.php(14): PDO->__construct('mysql:host=loca...', 'voting_user', 'password') #1 /php-voting-app/app/htdocs/php/db/user.query.php(10): db\DataSource->__construct() #2 /php-voting-app/app/htdocs/index.php(14): db\UserQuery::fetchById('test') #3 {main} thrown in /php-voting-app/app/htdocs/php/db/datasource.php on line 14
56
+ Fatal error: Uncaught PDOException: SQLSTATE[HY000] [2002] No such file or directory in /php-voting-app/app/htdocs/php/db/datasource.php:14 Stack trace: #0 /php-voting-app/app/htdocs/php/db/datasource.php(14): PDO->__construct('mysql:host=loca...', 'voting_user', '*********') #1 /php-voting-app/app/htdocs/php/db/user.query.php(10): db\DataSource->__construct() #2 /php-voting-app/app/htdocs/index.php(14): db\UserQuery::fetchById('test') #3 {main} thrown in /php-voting-app/app/htdocs/php/db/datasource.php on line 14
57
57
  ```
58
58
 
59
59
  ご教授の程よろしくお願いします