phpでPDOについての学習メモ
やりたいこと
- DBに接続する。
- DBに入力したデータを追加出来るようにする。
1.DBに接続させる方法
DBにアクセスするためには、どこに接続するのか(host)、誰が接続するのか(user)、本当にその人なのか(password)、 の3つが必要。
<?php $dsn = 'mysql:host=localhost;dbname=test'; $username = "root"; $password = ""; ?>
->きちんと接続されているか以下のコードで確認
<?php try { $pdo = new PDO($dsn, $username, $password); echo "接続成功!"; } catch (PDOException $e) { exit('接続失敗。'.$e->getMessage()); } ?>
2.DBに入力したデータを追加させる
<?php $stmt = $pdo->prepare("INSERT INTO contact_form (name,email) VALUES (:name,:email)"); $stmt->bindParam(':name',$_SESSION['name']); $stmt->bindParam(':email',$_SESSION['email']); $stmt->execute(); ?>
注意する点
prepareはSQL文なので変数は直接VALUESの中にPHP文の変数
$_SESSION['name']
とは書けない。
→$stmt->bindParam(':name',$_SESSION['name']);
このようにSQL文の変数に代入してあげる。このときSESSIONを使っているので文頭にsession start();を描き忘れないこと。
参考にしたサイト
- PDOでINSERTする(PHPでMySQLにデータ挿入) https://qiita.com/tabo_purify/items/0a69fd48018c4ebfd2f2