0
1

PHPでデータベース操作の基本

Posted at

はじめに

基本的なデータベース操作(select, insert ,delete)についてまとめました。

データベース接続

PHPからデータベース(MySQL)を操作するために、まずデータベースに対して接続を確立させます。
db.php
$usr = 'user'; // 接続ユーザー名
$pw = 'password'; // 接続時のパスワード
$dsn = 'mysql:host=localhost; dbname=test; charset=utf8';

$pdo = new PDO($dsn, $usr, $pw);

①$dsnはデータベース接続文字列で、データベースに接続するための情報(ホスト名やデータベース名など)をまとめたものです。
※接続先のデータベースによって異なるので注意。今回はMySQL

②PDOクラスをインスタンス化します。

SELECT

データベース接続ができたら、テーブルからデータを取得していきます。
今回取得元のテーブルはこんな感じ
テーブル名:member
id nam age password
1 江戸川コナン 7 baro
2 西条大河 35 yoshitsune
3 山倉多恵 52 ookini
4 綾小路文麿 28 ojaru

memberテーブルからidが「1」の行を取得するには

db.php
$spl = $pdo -> prepare('select * from member where id = 1');
$spl->execute();

$pdo->prepare(~) 発行したいSQL命令文を指定します。
select * from member where id = 1 memberテーブルの「id = 1」でマッチする行を取得します。
$spl->execute(); executeメソッドによってデータベースに命令が送信/実行されます。

下記で取得結果を出力します。

db.php
$row = $spl -> fetch(PDO::FETCH_ASSOC);
print_r($row);
// 出力結果:Array ([id] => 1, [nam] => 江戸川コナン, [age] => 7, [pw] => 7)

INSERT

テーブルに新しく行を追加する場合はinsert文を使用します。
dp.php
$sql = $pdo -> ('insert into member (nam, age, passowrd) values(?,?,?)');
$sql -> bindValue(1, '竜円');
$sql -> bindValue(2, '34');
$sql -> bindValue(3, 'tera');
$spl->execute();

insert文のvalues(?,?,?)の箇所はプレイスホルダーを表し、bindValueでプレイスホルダーに値を設定してから実行しています。
結果は以下のように一番下の行に新しく追加されます。

id nam age password
1 江戸川コナン 7 baro
2 西条大河 35 yoshitsune
3 山倉多恵 52 ookini
4 綾小路文麿 28 ojaru
5 竜円 34 tera

DELETE

テーブルから特定の行ごと削除する場合はdelete文を使用します。
以下はidが「2」の行を削除
db.php
$sql = $pdo -> prepare('delete from member where id = ?');
$sql -> bindValue(1, '2');
$sql -> execute();

これで「id=2」でマッチする行を削除することができます。

id nam age password
1 江戸川コナン 7 baro
3 山倉多恵 52 ookini
4 綾小路文麿 28 ojaru
5 竜円 34 tera
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1