PHPでPDOを使ってデータベース(MySQL)にアクセスしたい!
概要
この記事では、PHPでPDOを使ってデータベース(MySQL)にアクセスする手順を掲載する。
仕様書
環境
- PHP 8.0.17
- MariaDB 15.1
手順書
下記のようなテーブルをPODでSELECT
して、該当のレコードの件数とレコードの内容を出力してみる。
id[int] | name[varchar(256)] | value[int] | inserted_at[datetime] |
---|---|---|---|
1 | speed | 1398 | 2022-09-26 10:18:15 |
2 | stamina | 743 | 2022-09-26 10:18:15 |
3 | power | 972 | 2022-09-26 10:43:06 |
4 | guts | 764 | 2022-09-26 10:43:06 |
5 | intelligence | 632 | 2022-09-26 10:44:12 |
PHPのコード。
<?php
try {
$dsn = "mysql:host=<host_name>; dbname=<db_name>; charset=utf8";
$user = '<user_name>';
$password = '<password>';
$dbh = new PDO($dsn, $user, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = 'select id, name, value, inserted_at from table_test_items';
$stmt = $dbh->prepare($query);
$result_q = $stmt->execute();
echo $stmt->rowCount(). "件<br /><br />";
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($result as $row) {
echo $row['id']. '<br />';
echo $row['name'];
echo $row['vaule']. '<br />';
echo $row['inserted_at']. '<br />';
}
} catch (PDOException $e) {
echo $e->getMessage() . "\n";
exit();
}
?>
<host_name>
は、サーバーのホストネームに置き換える。(例えば、localhost
とかIPアドレスとか)
<db_name>
は、データベースの名前に置き換える。
<user_name>
は、データベースの接続に使うユーザー名に置き換える。
<password>
は、データベースの接続に使うユーザーのパスワードに置き換える。
まとめ(感想文)
簡単なWEB APIを作るのに使えるかもね!!