php PDOを使ってmysqlに接続する
phpで、PDOを使用して、mysqlに接続するサンプルコードを記述してます。phpのバージョンは8.0です。
環境
- OS CentOS Stream release 8
- php 8.0.0
- nginx 1.14.1
mysql接続
以下は、PDOを使用して、mysqlに接続するサンプルコードとなります。
基本的な接続情報を記述すれば、接続することができます。
<?php
// ホスト名や接続するDBを設定
$dsn = 'mysql:host=localhost;dbname=sample_db';
// 接続ユーザー名
$user = 'testuser';
// 接続パスワード
$password = 'password';
try {
// PDOインスタンスを生成
$dbh = new PDO($dsn, $user, $password,
array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
));
echo '接続成功';
} catch (PDOException $e) {
echo '接続失敗' . $e->getMessage();
// 終了
die();
}
パスワードが間違っていた場合などは、catchでエラーを取得することができます。
接続失敗SQLSTATE[HY000] [1045] Access denied for user 'testuser'@'localhost' (using password: YES
pdoを使用して、selectを実行してみます。
取得するtable「sample」の内容
<?php
// ホスト名や接続するDBを設定
$dsn = 'mysql:host=localhost;dbname=sample_db';
// 接続ユーザー名
$user = 'testuser';
// 接続パスワード
$password = 'password';
try {
// PDOインスタンスを生成
$dbh = new PDO(
$dsn,
$user,
$password,
array(
// 静的プレースホルダ
PDO::ATTR_EMULATE_PREPARES => false,
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
)
);
echo '接続成功' . PHP_EOL;
$id = 1;
$prepare = $dbh->prepare('SELECT title FROM sample WHERE id = ?');
$prepare->bindValue(1, $id, PDO::PARAM_INT);
$prepare->execute();
$result = $prepare->fetch(PDO::FETCH_ASSOC);
print_r($result);
} catch (PDOException $e) {
echo '接続失敗' . $e->getMessage();
// 終了
die();
}
実行結果
接続成功
Array
(
[title] => title1
)
-
前の記事
TortoiseGitでcloneしたフォルダをzip化する 2021.12.14
-
次の記事
docker composeを使って「mysql」と「phpmyadmin」を構築する 2021.12.14
コメントを書く