はじめに
mysqli_connect
を用いて、MySQLに接続する方法と切断する方法のみを説明します。
本記事では、データの取得や挿入などは触れていません。
事前知識
mysqliとは
mysqli
(MySQL Improved)とは、PHPでMySQLデータベースとやり取りするための拡張機能のこと。
MySQLデータベースとは
MySQLデータベースは、データを効率的に保存、管理、検索するためのシステムのこと。
ユーザー情報、商品情報、ブログ投稿など、ウェブサイトの様々なデータを保存するために使われる。
mysqliを使ってデータベースに接続する
mysqli_connect
を使ってデータベースに接続する
mysqli_connect
関数を使ってMySQLデータベースに接続する。
mysqli_connect(
$hostname,
$username,
$password,
$dbname
);
上のように、ホスト名、ユーザー名、パスワード、データベース名の順で書く。
続いて、接続を確認するために、変数を使って条件分岐を作成する。
$link = mysqli_connect($hostname,$username,$password,$dbname);
if (!$link) {
echo 'データベースに接続できません。' . PHP_EOL;
echo 'Debugging error:' . mysqli_connect_error() . PHP_EOL;
exit;
};
こうすることで、接続がうまくいっていないときは、エラーメッセージを出力することができる。
$link
にはmysqlオブジェクト
が格納されている。
※₁mysqli_connect_error()
は、接続できなかった際のエラーログが入っている。
※₂PHP_EOL
はどのOSでも正しく改行される改行コード。
公式ドキュメントの解説
PHPの公式ドキュメントを見ると、mysqli_connect
は以下のように書かれている。
mysqli_connect(
?string $hostname = null,
?string $username = null,
?string $password = null,
?string $database = null,
?int $port = null,
?string $socket = null
): mysqli|false
-
?
は、「nullable」型を表すために使用される。?string
は、その引数がstring 型
またはnull
であることを示している -
= null
は、その引数のデフォルト値がnull
であることを示すため、関数を呼び出す際にその引数が指定されなかった場合、その引数にはnull
が自動的に割り当てられる -
:
の後に続く部分は、関数の戻り値を示し、この関数はmysqli オブジェクト
かfalse
を示す
mysqlオブジェクトとは
mysqli オブジェクトは、データベース接続情報やその接続に対する操作(クエリの実行など)を管理するためのデータベース接続情報のこと。以下のような操作に使われる。:
- データベースクエリの実行
- トランザクションの管理
- エラーメッセージの取得
- 接続を切る
mysqliを使ってMySQLから切断する
アプリケーションが終了すると自動で切れるようになっていますが、念のため切断も記入しておく。
mysqli_close($link);
echo 'データベースから切断しました。';
このように書くことで、データベースから切断し、切断できたか確認することができる。
まとめ
-
mysqli
は、PHPでMySQLデータベースとやり取りするための拡張機能である -
mysqli_connect 関数
を使ってデータベースに接続し、接続が成功するとmysqli オブジェクト
が返され、失敗するとfalse
が返される -
mysqli オブジェクト
は、データベース接続情報やその接続に対する操作を管理する - アプリケーションが終了すると自動で接続が切れるが、
mysqli_close 関数
で明示的に接続を切ることが推奨される