第20回 PHP で MariaDB へ接続
公開日:2020-10-22 更新日:2020-10-22
1. 概要
PHP で MariaDB へ接続します。
2. 動画
3. 接続用パッケージのインストール
dnf install php-pdo DBに接続して操作するためのもの
dnf install php-mysqlnd MySQL Native Driver。PDO から MySQLに接続するためのもの
インストール後、PHP-FPM の 再起動
systemctl restart php-fpm
phpinfo() を表示して、PDO と mysqlnd のセクションが表示されればOK。
もし PDO と mysqlnd が表示されない場合は、
rpm -ql php-pdo
でモジュール(~.so) のパスを確認して、php.ini の extension_dir にモジュールを移動するか、
/etc/php.ini で、
extension=モジュールのフルパス
として、読み込ませてください。4. DBに接続するサンプル
/usr/share/nginx/html/db.php
<?php
//DB接続用オブジェクトの作成 ユーザ名 パスワード
$db = new PDO('mysql:dbname=test_db;host=127.0.0.1;port=3306', 'web', 'web');
//エラーの時は例外発生するようにする。指定しないと、エラーでも正常終了する。
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//SQLの設定
$sql = 'select * from test_data where data = :data';
//SQLのパラメータの設定
$stmt = $db->prepare($sql);
$stmt->bindValue(':data', 'aaa');
//SQLの実行
$result = $stmt->execute();
//実行結果の取得
$dataList = [];
while($data = $stmt->fetch(PDO::FETCH_ASSOC)) { // or FETCH_NUM
$dataList[] = $data;
}
var_dump($dataList);
//var_dump($dataList[0]['data']); // PDO::FETCH_ASSOC を指定した場合
//var_dump($dataList[0][1]); // PDO::FETCH_NUM を指定した場合
5. PHP のエラー内容の表示
ブラウザに PHP のエラー内容を表示したい場合は、
/etc/php.ini で以下のようにしてください。
/etc/php.ini で以下のようにしてください。
display_errors = On
変更後、PHP-FPM を再起動してください。