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

質問編集履歴

3

selectの修正とエラー

2019/03/09 02:45

投稿

ariiiiiga
ariiiiiga

スコア66

title CHANGED
File without changes
body CHANGED
@@ -3,33 +3,34 @@
3
3
  PHPとMYSQLで作っていた検索機能のコードのDB接続部分を下記のようにPostgreSQL用に変更しました。
4
4
  MYSQLの時は正常に動作していました。
5
5
 
6
+ 現在このエラーが出ています。
6
- 現状"接続成功"とブラウザに表示されるだけで、HTML部分やエラーの表示はありません。
7
+ SQLSTATE[HY000] [2002] Connection refused
7
-
8
8
  ### 該当のソースコード
9
9
 
10
10
  ```ここに言語名を入力
11
11
  <?php
12
- $sql = null;
13
- $res = null;
12
+ define('DB_USERNAME', 'myname');
14
- $dbh = null;
13
+ define('DB_PASSWORD', '*****');
14
+ define('DSN', 'mysql:host=host; dbname=mydb; charset=utf8');
15
15
 
16
+ function db_connect(){
17
+ $dbh = new PDO(DSN, DB_USERNAME, DB_PASSWORD);
18
+ return $dbh;
19
+ }
16
20
  try {
17
- $dbh = new PDO("pgsql:host=host; dbname=mydb; charset=utf-8", 'user', 'pass');
18
- $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
19
-
20
- $sql = "SELECT * FROM data";
21
- $res = $dbh->query($sql);
21
+ $dbh = db_connect();
22
22
 
23
- foreach( $res as $value ) {
24
- echo "$value[name]<br>";
23
+ $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
25
- }
26
24
 
25
+ $statement = $dbh->query('SELECT * FROM data');
26
+
27
+ $statement = null;
28
+ $dbh = null;
29
+
27
- } catch(PDOException $e) {
30
+ } catch (PDOException $e) {
31
+ header('Content-Type: text/plain; charset=UTF-8', true, 500);
28
- echo $e->getMessage();
32
+ exit($e->getMessage());
29
- die();
30
33
  }
31
- $dbh = null;
32
-
33
34
  ```
34
35
 
35
36
 

2

selectでデータを表示させました

2019/03/09 02:45

投稿

ariiiiiga
ariiiiiga

スコア66

title CHANGED
File without changes
body CHANGED
@@ -9,25 +9,30 @@
9
9
 
10
10
  ```ここに言語名を入力
11
11
  <?php
12
- $dsn = 'pgsql:dbname=mydb;host=mydb';
13
- $user = 'mydb';
12
+ $sql = null;
14
- $password = 'mydb';
13
+ $res = null;
14
+ $dbh = null;
15
15
 
16
16
  try {
17
- $dbh = new PDO($dsn, $user, $password);
17
+ $dbh = new PDO("pgsql:host=host; dbname=mydb; charset=utf-8", 'user', 'pass');
18
- $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
18
+ $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
19
+
20
+ $sql = "SELECT * FROM data";
21
+ $res = $dbh->query($sql);
22
+
19
- echo '接続成功';
23
+ foreach( $res as $value ) {
24
+ echo "$value[name]<br>";
25
+ }
26
+
20
- } catch (PDOException $e) {
27
+ } catch(PDOException $e) {
21
- echo 'Connection failed: ' . $e->getMessage();
28
+ echo $e->getMessage();
29
+ die();
22
30
  }
31
+ $dbh = null;
32
+
23
33
  ```
24
34
 
25
- ### 試したこと
26
35
 
27
- ・postgresql.confの中の#tcpip_socket = trueをtcpip_socket = trueに変更する←見つからない
28
- ・#port = 5432をport = 5432の#をとる 済
29
- ・#host all all 127.0.0.1 255.255.255.255 trustの#をとる
30
-
31
36
  ### 補足情報(FW/ツールのバージョンなど)
32
37
 
33
38
  windows10

1

エラーモードと接続成功時のechoの表示

2019/03/08 11:42

投稿

ariiiiiga
ariiiiiga

スコア66

title CHANGED
@@ -1,1 +1,1 @@
1
- phpとpostgresql接続エラーの対処方法をたい
1
+ phpとpostgresqlをPDOで接続したい
body CHANGED
@@ -1,28 +1,25 @@
1
1
  ### 前提・実現したいこと
2
- PHP,Postgresqlをpdoで接続したいですがエラーがでます
2
+ PHP,Postgresqlをpdoで接続したいです。
3
- 記事が古せいかエラーを調べ同じようにやってみましたがエラーが変わらず解決できなかったので教えて頂けると助かります
3
+ PHPとMYSQLで作ってた検索機能のコドのDB接続部分下記のようにPostgreSQL用に変更しました。
4
+ MYSQLの時は正常に動作していました。
4
5
 
5
- ### 発生してい問題・エラーメッセージ
6
+ 現状"接続成功"とブラウザに表示されだけで、HTML部分やエラーの表示はありません。
6
7
 
7
- ```
8
- Connection failed: SQLSTATE[08006] [7] could not connect to server: Connection refused Is the server running on host "localhost" (127.0.0.1) and accepting TCP/IP connections on port 5432?
9
- ```
10
-
11
8
  ### 該当のソースコード
12
9
 
13
10
  ```ここに言語名を入力
14
11
  <?php
15
- $dsn = 'pgsql:dbname=mydb;host=localhost';
12
+ $dsn = 'pgsql:dbname=mydb;host=mydb';
16
- $user = 'root';
13
+ $user = 'mydb';
17
- $password = '';
14
+ $password = 'mydb';
18
15
 
19
16
  try {
20
17
  $dbh = new PDO($dsn, $user, $password);
21
- $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
18
+ $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
19
+ echo '接続成功';
22
20
  } catch (PDOException $e) {
23
21
  echo 'Connection failed: ' . $e->getMessage();
24
22
  }
25
-
26
23
  ```
27
24
 
28
25
  ### 試したこと