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へのパス】"); ?>