PHP

【備忘録】 mysqli_connect でデータベースに接続する方法(PHP×MySQL)

投稿日:2020年6月15日 更新日:

この記事はだいたい 5 分ほどで読めます。

mysqli_connect 関数を使ってPHPでMySQLに接続する方法の備忘録です。

確認した環境

  • OS Windows10
  • XAMPP ver.7.4.6

動かした人

  • 普段PHPを使ってない
  • エンジニア歴10数年
  • 既婚
programmer

XAMPPについて

XAMPPはApach,PHP,MySQLなどWebアプリの実行に必要なアプリケーションをまとめたものです。

インストーラを使用してインストールするとWebアプリの開発環境が手軽に手に入ります。

インストール方法を紹介した記事はこちらです。>>【備忘録】XAMPPインストール からの hello world!

コーディング

実際にコーディングしてみます。

Apacheのルートディレクトリに testdbフォルダを作成。

testdbフォルダに index.phpを作成します。

<?php

// phpからMySQLに接続
//ホスト名
$servername = "localhost";
//ユーザー名
$user = "root";
//パスワード
$password = "";
//db名
$dbname = "testdb";

// 接続
$conn = mysqli_connect($servername, $user, $password, $dbname);

// 接続情報($conn)を展開
var_dump($conn);

// 接続を閉じる
mysqli_close($conn);

コードは以上です。

mysqli_connect関数に ホスト・ユーザー名・パスワード・データベース名を渡しています。

その下で、mysqli_connect関数から返ってきた値を展開しています。

この展開する処理はデバッグするために記述してあります。

最後にmysqli_close関数で接続を閉じています。

続いてXAMPPのルートディレクトリの確認方法を見てみます。

ルートディレクトリの確認方法

XAMPP Control Panelを開きます。

XAMPP

ApacheのConfigボタンをクリック。

XAMPP

Apache(httpd.conf)をクリック。

httpd.conf内をDocumentRootで検索します。

#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "D:/xampp/htdocs"

この場合は d:\xampp\htdocsがルートディレクトリになります。

index.phpを保存してブラウザを起動します。

確認

ブラウザで確認してみます。

URLにlocalhost/testdbと入力します。

browser

var_dump関数に渡された接続情報が展開されています。

接続成功です。

MySQLを止めて接続が失敗した場合を確認してみます。

xampp

MySQLのStopボタンをクリック。

先ほどのページを再読み込みします。

browser

エラーが発生しました。

mysqli_connectとmysqli_closeがfalseとなっています。

使用した関数

3つの関数を使ってMySQLへの接続と切断の確認を行いました。

  • mysqli_connect
  • mysqli_close
  • var_dump

mysqli_connect

MySQLへの新しい接続をオープンする。

vscode

パラメータ

$host

接続先のホスト名または IP アドレス

$user

MySQL のユーザー名

$password

MySQL のパスワード

$database

クエリ実行時のデフォルトのデータベース名

$port

使用するポート番号

$socket

使用するソケット

戻り値

接続情報のオブジェクトが返ってくる。失敗した場合はFalseを返す。

var_dump

ダンプしたい変数を渡して内容を取得する。

vscode

パラメータ

$expression

ダンプしたい変数

戻り値

無し

mysqli_close

開いているデータベースの接続を閉じる。

vscode

パラメータ

$link

mysqli_connect() が返すリンク ID。

戻り値

成功した場合はTRUE,失敗した場合はFALSEが返る。

まとめ

mysqli_connect 関数を使ってPHPからMySQLに接続してみました。

接続と切断だけなので特に難しいところはないんですけど、db名を渡さないでも接続ができることは新しい発見でした。

過去にXAMPPの記事も書いてます。こちらもぜひ見てみてください。

>>【備忘録】XAMPPインストール からの hello world!

>>【備忘録】XAMPP で VSCode の拡張機能 PHP Debug を使ってみる

おわり。

-PHP
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

search

簡単な検索フォームの実装手順(PHP×MySQL)

この記事はだいたい 5 分ほどで読めます。 検索条件を入力して結果を表示する簡単な検索フォームをPHPとMySQLで作ってみました。 確認した環境 OS Windows10XAMPP ver.7.4. …

programing

【備忘録】mysqli_stmt_get_resultの実装手順(PHP×MySQL)

この記事はだいたい 3 分ほどで読めます。 PHPで条件を付けてSELECT文を発行し、MySQLからデータを取得する方法を記事にしました。 確認した環境 OS Windows10XAMPP ver. …