【phpMyAdmin/PostgreSQL/php】PHPを使ってPostgreSQLのデータベースに接続してデータを抽出する方法

PHP
スポンサーリンク

どうもこんにちは、まったです。

今回は、会社でホームページを作成するときに苦しんだ『PHPを使いデータベースに接続し、データを抽出する事例』を紹介したいと思います。

ホント悩みました・・・未だによくわかっていませんが、なんとか動いているようです。

※本サイトはアフィリエイト広告を利用しています。

スポンサーリンク

PHPを使ってPostgreSQLのデータベースに接続してデータを抽出する

接続先DBはPostgreSQL

投稿を表示

今回は会社の環境でPostgreSQLに接続するためのPHPを作成したいと思います。

接続先データベース:PostgreSQL

<環境> 
  OS:Windows 2019 server
  MAMP
  concrete5

PHPコードの大きな流れ

PHPコードの大きな流れは以下になります。

  1. データベースを接続する
  2. 必要なデータを抽出する
  3. 抽出したデータの結果を受取る

それでは、詳細な説明にはいりたいと思います。

①データベースを接続する

データベースを接続するためのコードが以下になります。

$dbh = new PDO(pesal:host=00.00.00.000;port=0000; dbname=$dbname, ‘User-name‘, ‘password‘);

黄色がPostgreSQLに接続するコートで、それに続き、host,port,データベース名、ユーザー名を設定します。

②必要なデータを抽出する

$sql = ‘SELECT * FROM “$db_name” WHERE カラム名 OEDER BY * DESC’;

SELECT FROMで、データベースから必要なカラムネイにします。個別に設定するときは、”,”で区切ります。

OEDER BY * DESC:*で設定したカラム名の降順に並べ替えます。


$stmt = $dbh -> prepare($sql);
$stmt -> bindValue(‘:カラム名’, “%抽出したい文字%”);
$stmt ->execute();

この部分は、カラム名から抽出したい文字を設定し、その文字が含まれたデータを取ってきます。

③SQL の結果を受け取る

$result = $stmt->fetchall (PDO::FETCH_ASSOC);
$dbh = null;

ここは抽出したデータを$resultで受け取ります。

PostgreSQLに接続しデータを抽出するプログラム

上記の結果を合わせると下記にようになります。

<?php

try{
//①データベースを接続する
$dbh = new PDO(pesal:host=00.00.00.000;port=0000; dbname=$dbname, ‘User-name’, ‘password’);
echo “OK!”;

//②必要なデータを抽出する
$sql = ‘SELECT * FROM “$db_name” WHERE カラム名 OEDER BY * DESC’;
$stmt = $dbh -> prepare($sql);
$stmt -> bindValue(‘:カラム名, “%抽出したい文字%”);
$stmt ->execute();

//③SQL の結果を受け取る
$result = $stmt->fetchall (PDO::FETCH_ASSOC);
$dbh = null;

}
catch (PDOException $e) {
echo ‘エラー!:.Se->get Message();
}

?>

まとめ

どうでしょうか。

まったけは、全くPHPコードわからないのですが、こんな感じでコードを書くことにより、データベースに接続し必要なデータを抽出することができました。

参考になれば幸いです。

コメント