PHP MySQLへ接続してinsert/update/deleteするサンプル

PHPでXAMPPのMySQL(MariaDB)へ接続してinsert/update/deleteするサンプルです。

確認環境
・PHP 7.1.8
・XAMPP 7.1.8
・Windows 10

環境

XAMPP

XAMPPのMySQLを使用します。
XAMPPのインストール方法はこちらを御覧下さい。
ローカルにPHPが動く環境を作る手順(XAMPP)

データベースとテーブルの作成

1.XAMMPのMySQLにデータベース、テーブルを作成しておく必要があります。
作成方法はこちらを御覧下さい。
XAMPPのphpMyAdminでDB作成からデータ取得までのサンプル

2.以下の「fish」テーブルを更新します。ストレージエンジンはInnoDBです。

カラムの「id」は、自動採番(AUTO_INCREMENT)にしています。

コード

サンプルのコードです。
ファイルを開くとMySQLのテーブルにinsertを行います。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>insertのサンプル </title>
</head>
<body >
<?php
// DB接続情報です
$dsn = 'mysql:host=localhost;dbname=testphp;charset=utf8mb4';
$username = 'root';
$password = '';

// try-catch。エラー発生時はcatchのロジックが実行される。
try{
	// データベースへの接続を表すPDOインスタンスを生成
	$pdo = new PDO($dsn,$username,$password);

	// DBエラー発生時は例外を投げる設定
	$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

	//トランザクション処理
	$pdo->beginTransaction();

	try{
		$pdo->query("INSERT INTO fish(name,romaji) VALUES ('まぐろ','maguro')");
		$pdo->query("INSERT INTO fish(name,romaji) VALUES ('さば','saba')");
		$pdo->query("INSERT INTO fish(name,romaji) VALUES ('たい','tai')");
		//コミット
		$pdo->commit();

	}catch (PDOException $e) {
		//ロールバック
		$pdo->rollback();
		throw $e; // 37行目でキャッチされる
	}
}catch (PDOException $e) {
	// UTF8に文字エンコーディングを変換します
	echo mb_convert_encoding($e->getMessage(),'UTF-8','SJIS-win');
}
// 接続を閉じる
$pdo = null;
?>
</div>
</body>
</html>

以下はPHPマニュアルのPDOの接続、および接続の管理のリンクです。
http://php.net/manual/ja/pdo.connections.php

以下はPHPマニュアルのPDO::setAttributeのリンクです。
http://php.net/manual/ja/pdo.setattribute.php

以下はPHPマニュアルのPDO::begintransactionのリンクです。
http://php.net/manual/ja/pdo.begintransaction.php

結果

上記コードを実行した結果です。データがinsertされています。

UPDATE

update文を実行する場合は上記コード26-28行目のSQL文の箇所を以下のように記述します。

$pdo->query("UPDATE fish SET name='まぐろ2' WHERE id='1'");
$pdo->query("UPDATE fish SET name='さば2' WHERE id='2'");
$pdo->query("UPDATE fish SET name='たい2' WHERE id='3'");

DELETE

delete文を実行する場合は上記コード26-28行目のSQL文の箇所を以下のように記述します。

$pdo->query("DELETE FROM fish WHERE id='1'");
$pdo->query("DELETE FROM fish WHERE id='2'");
$pdo->query("DELETE FROM fish WHERE id='3'");

関連の記事

PHP MySQLへ接続してselectするサンプル
PHP フォームからMySQLへ接続してselectするサンプル
ローカルにPHPが動く環境を作る手順(XAMPP)
PHP フォームの値をsubmitするサンプル
XAMPPのphpMyAdminでDB作成からデータ取得までのサンプル



△上に戻る