【初心者必見】PHPでPDOでデータベースへ接続する【INSERT INFO】

2023年5月9日PHP

データベースへの接続手順

  • 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;

PHP

Posted by kami