PHPでMySQLを操作する:(2) レコードを挿入する
PHPからMySQLのデータベースにレコードを挿入する方法です。
テーブルの構造
テーブルの構造を以下とします。
数値型、テキスト型、日付型、Yes/No型の4種類を例示します。
※bit型をここではYes/No型として扱います(実際は数値型)。
フィールド名 |
型 |
説明 |
id |
int(11) |
primal_key(主キー)、auto_increment(自動採番)。 |
code |
int(11) |
コード番号。 |
name |
varchar(255) |
名前。 |
date |
date |
日付型。 |
flag |
bit(1) |
Yes/No型で処理したいフィールド。 |
PHPからレコードを挿入する
PHPコード
<?php
// 定数
define(‘HOST’,’localhost’); // ホスト名
define(‘DBNAME’,’database’); // データベース名
define(‘ID’,’database_id’); // データベースログインID
define(‘PASSWORD’,’database_password’); // データベースログインパスワード
define(‘TBNAME’,’table’); // テーブル名
// MySQLに接続
try{
$sql = new PDO( ‘mysql:host=’.HOST.’; dbname=’.DBNAME.’; charset=utf8′, ID, PASSWORD);
print ‘ 接続に成功しました。’;
} catch ( PDOException $e) {
print “接続に失敗しました。:{$e->getMessage()}”;
}
// レコードの挿入
$code = 1; // 挿入するコード番号
$name = “名前”; // 挿入する名前
$date = “2018-1-1”; // 挿入する日付
$flag = 1; // 挿入するYes/No型データ
$ir -> $sql -> prepare(‘INSERT INTO ‘.TBNAME.’ ( code, name, date, flag) VALUES (:code, :name, :date, :flag)’ );
$ir -> bindParam(‘:code’, $code, PDO::PARAM_INT);
$ir -> bindParam(‘:name’, $name, PDO::PARAM_STR);
$ir -> bindParam(‘:date’, $date, PDO::PARAM_STR);
$ir -> bindParam(‘:flag’, $flag, PDO::PARAM_INT);
$ir -> execute();
print ‘登録に成功しました。’;
$sql = null;
?>
このファイルにアクセスすると、レコードが1件追加されます。
関連記事