Help us understand the problem. What is going on with this article?

データベース総復習チェックリストーPHPでデータベースを扱う方法ー

More than 1 year has passed since last update.

データベースを用意できているという前提で進めます。

データベースに接続する

PHPがすでに用意していくれている、PDOというものを使ってデータ接続していきます。

define('DSN','mysql:host=localhost;dbname=データベース名;charset=utf8');
define('DB_USERNAME','ユーザー名');
define('DB_PASSWORD','パスワード');

$db = new \PDO(DSN, DB_USERNAME, DB_PASSWORD);

設定の部分とデータベースの接続を一緒にしたくないよ!!っていう方は、このようにします。

config.php
define('DSN','mysql:host=localhost;dbname=データベース名;charset=utf8');
define('DB_USERNAME','ユーザー名');
define('DB_PASSWORD','パスワード');
index.php
$db = new \PDO(DSN, DB_USERNAME, DB_PASSWORD);

defineはどこからでもアクセスできるので、requireとかする必要はないです!

接続のオプションを追加する

データベースの接続のオプションを追加する場合は、setAttributeを使います。

$db -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

ここで例として出している「PDO::ATTR_ERRMODE」でエラーコードを設定し、「ERRMODE_EXCEPTION」でエラーコードや関連情報がプロパティとして設定されます。

これを使って、例外処理をするとこんなこともできます。

try{
        $db = new \PDO(DSN, DB_USERNAME, DB_PASSWORD);
        $db ->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
}catch(\PDOException $e){
        echo $e->getMessage();
        exit;
      }

データベースを操作する

queryを使えば、SQLが実行できます。

$db -> query("select * from todos");

execを使えば、アップデートや削除などができます。

$db -> exec('UPDATE todos SET element = element + 1');
Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away