昨日のBlogにも書きましたが、現在PHPとMySQLを使用して、とある団体のユーザー認証サーバーを構築してます。
本日はPHPからMySQLへの認証方法についての備忘録です。
MySQLデータベースの操作APIは、mysqliを使用。
現在PHPからのMySQL APIの主流は使いやすいPDO(PHP Data Object)のようですが、私は過去のmysql構文を
引き継いだmysqliの方がしっくりくる(馴染みがある)ので、mysqli(の手続き型)を使ってます。
*mysqliの先代となるmysqlは、PHP5.5以降は非推奨となり、PHP7.0以降はAPI自体が削除されてます。
//MySQLへの接続開始
*mysqli_connectを使います。サーバー名、ログイン名、パスワード、データーベース名(注意:テーブル名では無い)を入力。
$connect = mysqli_connect("MySQL_ServerName", "Login_UserName", "Login_Password", "DatabaseName");
//接続状態を確認
*mysqli_connect_errno()にて、直前の接続コールに対するエラーコードを返り値を読み取ります。
以下のif文では、エラーがあればtrueとなり、エラーコードを表示しています。
PHPのdieコマンドは、メッセージを表示後、プログラムを終了させます。
if (mysqli_connect_errno()) {
die("MySQLデータベースに接続できません:" . mysqli_connect_error() . "\n");
} else {
echo "MySQLデータベースの接続に成功しました。";
}
//データの取り出し
* mysqli_queryを使いデータ操作を行います。今回はMySQLのSELECTを使いデーターテーブルから指定する
columnデータ(email, member_nameなどの情報)を全て抜き出します。
抜き出されたデータは$outputに格納されます。
* mysqli_fetch_assocを使い、$outputに格納されたデータを連想配列で取得し、$eachdataに格納します。
$data = "SELECT email, password, member_name, member_data FROM DataTableName;";
if ($output = mysqli_query($connect, $data)) {
while ($eachdata = mysqli_fetch_assoc($output)) {
echo "$eachdata["email"]";
echo "$eachdata["password"]";
echo "$eachdata["member_name"]";
echo "$eachdata["member_data"]";
}
}
while ($eachdata = mysqli_fetch_assoc($output)) {
echo "$eachdata["email"]";
echo "$eachdata["password"]";
echo "$eachdata["member_name"]";
echo "$eachdata["member_data"]";
}
}
//MySQLからの接続解除
* mysqli_closeを使い、MySQLサーバーとの接続を切断します。
mysqli_close($connect);
PHPを学ぶためのお勧めの書籍を紹介!
マイナビ出版:よくわかるPHPの教科書
PHPを学ぶ入門書としてお勧めです。
プログラムの考え方の基礎から、PHPの基礎、MySQLのデーターベースの基本を学び、
後半は、Webアプリケーション(掲示板)を作成する内容が記載されてます。
にほんブログ村