9cubed
ブログ | Tailwind | Vite | Python | Node.js | Linux | PowerShell | その他 | 将棋ウォーズ | 歌の練習
Webサーバー講座

第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 で以下のようにしてください。
display_errors = On
変更後、PHP-FPM を再起動してください。

YouTube X

新着一覧

  • SCSS のインストールVite
  • Tailwind CSS のプロジェクトの作成Tailwind
  • TypeScriptのプロジェクトの作成Vite
  • Flask のインストールと動作確認Python
  • 簡易Webサーバーの作成Python
  • pipeline で文章の生成Python
  • pipeline で文章の要約Python
  • 音声から文字起こしPython
  • Node.js のインストールNode.js
  • .ps1(PowerShellスクリプト)を実行可能にするPowerShell

アーカイブ

  • 2025/12
  • 2025/11
  • 2025/10
  • 2025/09
  • 2025/08

以前のカテゴリー一覧

  • CakePHP3
  • CentOS7
  • HTML・CSS・JavaScript
  • Haskell
  • JavaScript
  • Kotlin
  • Laravel5
  • PHP
  • Python
  • Ruby
  • RubyOnRails5
  • TypeScript
  • Vue.js
  • Webサーバ講座
  • Webプログラミング講座
  • jQuery
  • linux
  • パソコン講座
  • ブログ
  • プログラミング講座
  • メモ帳作成講座
  • 数学

Copyright © 9cubed. All Rights Reserved.

プライバシーポリシー 利用規約
▲