DB接続方法(phpMyAdmin)、(PHP 5, PHP 7)

DBへの接続法(mysqli)

以前、CMS等のフレームワークを使わずにDB接続(phpMyAdmin)させていた制作物が気づいたら動かなかったので調べてみた。
エラーの内容:「Call to undefined function mysql_connect()」

原因は、サーバー移行に伴うPHPのバージョンが影響している様子だったので、新しいバージョン(PHP 7)でも動く様に書き換え。

mysqliを使い接続する

今回の対象となる環境は「PHP 7」なので、「mysqli」の関数を使い接続をすることにした。
(PHP 5, PHP 7)
mysqli_connect — mysqli::__construct() のエイリアス

DBの作成

下記は事前に確認を済ませておく。

  • phpMyAdminに対象のDB、tableが存在すること
  • 接続するユーザー、パスワードの設定を済ませておく
  • 対象ユーザーがDBに対する最低限の権限を付与させておく

色々なページで同じDB接続を行うなら、使用する都度インクルードで呼び出せる様に管理するのがベターかと。
ファイル:db_connect.php

<?php
  $url = "localhost";  // ローカル環境ならば、localhostで
  $user = "root";      // ユーザー名 
  $pass = "";          // ユーザーパスワード 
  $db = "DB名";        // DB名

  $mysqli = new mysqli($url, $user, $pass, $db);

  if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
  }

  $mysqli->begin_transaction(MYSQLI_TRANS_START_READ_ONLY);
  $mysqli->query("SELECT * FROM 【DB名】");
  $mysqli->commit();
  $mysqli->close();
?>

ついでに、『呼び出し側』のインクルード文

<?php include("【db_connect.phpへのパス】"); ?>