【初心者必見】PHPでPDOでデータベースへ接続する【INSERT INFO】
目次
データベースへの接続手順
- 1.データベースに接続
- 2.SQLの作成
- 3.登録するデータをセット
- 4.SQL実行
- 5.データベースの接続解除
全体のソースコード
coming soon
スポンサードサーチ
1.DBの接続情報
DSNとは
dbhはデータベースハンドルの略です。
<?php
$DSN = "mysql:host=localhost;dbname=db_name_hoge;charset=utf8";
$USERNAME = "user_name_hoge";
$PASSWORD = "password_hoge";
try {
$pdo = new PDO($DSN, $USERNAME, $PASSWORD);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo 'localhostでpdoで接続成功';
$name = 'kami';
$age = 35;
$created_at = '2023-01-01 12:00:00';
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION)
データベースに接続した後にオプションを指定をする
$dbh->setAttribute(属性 , 値);
- 第1引数:属性
- 第2引数:値
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION)
PDO::ATTR_ERRMODE
属性:PDO::ERRMODE_EXCEPTION
:値を設定することでエラーが発生時に、PDOException
の例外を投げることができます。
SQLの作成
"INSERT INTO user_list (name, age, created_at) VALUES (:name, :age, :created_at)"
スポンサードサーチ
登録するデータをセット
$stmt->bindParam( ':name', $name, PDO::PARAM_STR);
$stmt->bindParam( ':age', $age, PDO::PARAM_STR);
$stmt->bindParam( ':created_at', $created_at, PDO::PARAM_STR);
bindParamで値をセット
VALUESにカラム名を指定してINSERT
$stmt = $pdo->prepare("INSERT INTO user_list (name, age, created_at) VALUES (:name, :age, :created_at)");
$stmt->bindParam( ':name', $name, PDO::PARAM_STR);
$stmt->bindParam( ':age', $age, PDO::PARAM_STR);
$stmt->bindParam( ':created_at', $created_at, PDO::PARAM_STR);
VALUES(?)でINSERT
$stmt = $pdo->prepare("insert into user_list(name, age, created_at) values(?, ?, ?)");
$stmt->bindParam(1, $name);
$stmt->bindParam(2, $age);
$stmt->bindParam(3, $created_at);
exeuteでSQL文を実行
execute関数を使う前にPDOオブジェクトを作成してDBへの接続します。
プリペアドステートメントのSQLをprepare関数を使って設定します。
SQL文を正しく記述して、設定できた上でexecute関数を使うことでSQL文を実行可能です。
$stmt->execute();
スポンサードサーチ
5.データベースの接続解除
$pdo = null;