PDOクラスによるデータベース操作 【PHP】

なわて投稿サムネイル

PDOの定義

PDOは下記のようにクラスとして定義されている。

<?php
PDO {
public __construct ( string $dsn [, string $username [, string $passwd [, array $options ]]] )
public beginTransaction ( void ) : bool
public commit ( void ) : bool
public errorCode ( void ) : string
public errorInfo ( void ) : array
public exec ( string $statement ) : int
public getAttribute ( int $attribute ) : mixed
public static getAvailableDrivers ( void ) : array
public inTransaction ( void ) : bool
public lastInsertId ([ string $name = NULL ] ) : string
public prepare ( string $statement [, array $driver_options = array() ] ) : PDOStatement
public query ( string $statement ) : PDOStatement
public quote ( string $string [, int $parameter_type = PDO::PARAM_STR ] ) : string
public rollBack ( void ) : bool
public setAttribute ( int $attribute , mixed $value ) : bool
}
?>

https://www.php.net/manual/ja/class.pdo.phpより引用

 

PDOによるデータベース接続と実行

PDOとは

PHP Data Objects

PHPとデータベースとの接続機能を提供する拡張モジュール。

PDOはPHPでデータベースを動かすために用意されているクラス

構文

$pdo = new PDO(データソース名 , ユーザー名 , パスワード);

コード

<?php
$pdo = new PDO
(
'mysql:host=localhost;dbname=データベース名;charset=utf8',
'ユーザー名',
'パスワード'
)
?>

 

PDOでSQL文の実行

query()メソッド

構文

PDOのオブジェクト変数->query(‘SQL文’);

 

データの取得・表示

SQL文

構文

select 列名 from テーブル名

PDOバージョン

構文

foreach  ( $pdo -> query (‘select 列名 from テーブル名’) as $変数名)
{
}

該当テーブル該当列のすべての行が取得される。
変数に1行づつ順番に代入される。

列のデータの取り出し

構文

変数名or配列名 [ ‘列名’ ]

“変数名or配列名 [ 列名 ]”

コード

<?php
$pdo = new PDO
(
'mysql:host=localhost;dbname=データベース名;charset=utf8',
'ユーザー名',
'パスワード'
)
foreach($pdo->query('select * from テーブル')as $変数名)
{
echo "<p>$変数名[列名],$変数名[列名],$変数名[列名]</p>";
}
?>